KR101260073B1 - 적응적 계수 스캔 순서 - Google Patents

적응적 계수 스캔 순서 Download PDF

Info

Publication number
KR101260073B1
KR101260073B1 KR1020050115372A KR20050115372A KR101260073B1 KR 101260073 B1 KR101260073 B1 KR 101260073B1 KR 1020050115372 A KR1020050115372 A KR 1020050115372A KR 20050115372 A KR20050115372 A KR 20050115372A KR 101260073 B1 KR101260073 B1 KR 101260073B1
Authority
KR
South Korea
Prior art keywords
scan order
order
coefficient values
incidence
scan
Prior art date
Application number
KR1020050115372A
Other languages
English (en)
Other versions
KR20060079087A (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 KR20060079087A publication Critical patent/KR20060079087A/ko
Application granted granted Critical
Publication of KR101260073B1 publication Critical patent/KR101260073B1/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

디지털 미디어 코덱은 디지털 미디어의 로컬 통계에 따라 변환 계수들의 계수 스캔 순서를 적응적으로 재배열하여, 이 계수들은 엔트로피 인코딩을 이용하여 더 효율적으로 인코딩될 수 있다. 적응적 스캔 순서화는 압축된 디지털 미디어 스트림에서 스캔 순서를 디코더에 명시적으로 시그널링하는 것을 피하기 위해 인과적으로 인코딩 및 디코딩시에 적용된다. 연산 효율성에 있어서, 적응적 스캔 순서는 통계 분석의 갱신마다 스캔 순서의 하나의 트래버스를 통해 조건 교환 동작을 인접한 순서의 계수 위치들에 적용하여 스캔 순서를 재배열한다.
랩 변환, 엔트로피 코딩, 변환 계수, 적응적 계수 스캔 순서

Description

적응적 계수 스캔 순서{ADAPTIVE COEFFICIENT SCAN ORDER}
도 1은 종래 기술 분야에서의 기존 블록 변환 기반 코덱의 블록도.
도 2는 종래 기술 분야에서 도 1의 블록 변환 기반 코덱과 조합하여 전후 프로세싱 동작으로 구현되는 공간-도메인 랩 변환의 블록도.
도 3은 종래 기술 분야에서의 연속 지그재그 스캔 패턴을 이용하는 계수 스캔 순서를 도시하는 도면.
도 4는 가역 오버랩 오퍼레이터를 이용하는 랩 변환에 기반한 인코더의 순서도.
도 5는 랩 변환에 기반한 디코더의 순서도.
도 6은 도 4의 인코더 및 도 5의 디코더에서의 계수 스캔 순서의 적응에 관한 프로시쥬어의 순서도.
도 7은 도 6의 적응적 계수 스캔 순서 프로시쥬어에 관한 수평 계수의 초기 스캔 순서를 도시하는 도면.
도 8은 도 6의 적응적 계수 스캔 순서 프로시쥬어에 관한 수직 계수의 초기 스캔 순서를 도시하는 도면.
도 9는 계수들에 대한 제로가 아닌 값들의 발생을 트래킹하고 스캔 순서를 대응시키기 위해 도 6의 적응적 계수 스캔 순서 프로시쥬어에서 이용되는 초기화 순서 및 전체 어레이의 예를 도시하는 도면.
도 10은 도 9의 어레이 요소들이 계수들의 스캔 순서를 재배열하기 위해 도 6의 프로시쥬어에 의해 스왑되는 경우의 예를 도시하는 도면.
도 11은 도 10에 도시되어 있는 요소 스와핑 동작 후의 도 9의 어레이 요소들의 배열 결과를 도시하는 도면.
도 12는 도 10에 도시되어 있는 요소 스와핑 동작 후의 도 9의 어레이 요소들에 관해 도 11에 도시되어 있는 배열에 대응하는 스캔 순서 결과를 도시하는 도면.
도 13은 도 4 및 도 5의 공간-도메인 랩 변환을 개선한 블록 변환-기반 코덱을 구현하기 위해 적합한 연산 환경의 블록도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 블록 변환 기반 코덱
110 : 인코더 150 : 디코더
120, 121 : 정변환 170, 171 : 역변환
400 : 2D 데이터 인코더
500 : 2D 데이터 디코더
[특허문헌 1] 미국 특허 출원 제 10/989,844호(2004년 11월 15일 출원)
[특허문헌 2] 미국 특허 출원 제 10/989,594호(2004년 11월 15일 출원)
본 발명은 전반적으로 블록 변환-기반 디지털 미디어(block transform-based digital media)(예컨대, 영상 및 이미지) 압축에 관한 것이다.
블록 변환 기반 코딩의 개요
변환 코딩은 많은 음성, 이미지 및 영상 압축 시스템에 이용되는 압축 기법이다. 비압축 디지털 이미지 및 영상은 일반적으로 2디멘션(2D) 그리드에 배열되는 이미지 또는 영상 프레임에서의 위치에서 픽쳐 요소 또는 컬러의 샘플들로 표현되거나 캡쳐된다. 이것은 이러한 이미지 또는 영상의 공간 도메인 표현으로 지칭된다. 예컨대, 이미지에 대한 전형적인 포맷은 하나의 그리드로 배열되는 24-비트 컬러 픽쳐 요소 샘플들의 스트림으로 구성된다. 각각의 샘플은 컬러 공간 중 RGB 또는 YIQ와 같은 공간내의 그리드에서의 픽셀 위치에서 컬러 성분을 표시하는 번호이다. 다양한 이미지 및 영상 시스템은 샘플링의 여러 상이한 컬러, 공간 및 시간 해상도를 이용할 수 있다. 이와 유사하게, 디지털 음성은 일반적으로 시간-샘플링 음성 신호 스트림으로 표현된다. 예컨대, 전형적인 음성 포맷은 정규 시간 간격으로 취해진 음성 신호의 16-비트 크기 샘플들의 스트림으로 구성된다.
비압축 디지털 음성, 이미지 및 영상 신호는 상당한 저장 및 전송 용량을 소모할 수 있다. 변환 코딩은 신호의 공간-도메인 표현을 주파수-도메인(또는 기타 유사 변환 도메인) 표현으로 변환하여 디지털 음성, 이미지 및 영상의 사이즈를 줄이고, 일반적으로 이러한 변환 도메인 표현의 약간 덜 인지할 수 있는 주파수 성분 의 해상도를 줄인다. 이것은 통상 공간 도메인에서의 이미지 혹은 영상, 또는 시간 도메인에서의 음성의 컬러 또는 공간 해상도를 줄이는 것에 비해 디지털 신호에서의 훨씬 덜 인지할 수 있는 저하를 발생시킨다.
보다 구체적으로, 도 1에 도시되어 있는 전형적인 블록 변환 기반 코덱(100)은 비압축 디지털 이미지의 픽셀을 고정 사이즈의 2디멘션 블록(X1, ... Xn)으로 분할하는데, 각각의 블록은 다른 블록과 오버래핑할 수 있다. 공간-주파수 분석을 수행하는 선형 변환(120 - 121)은 각각의 블록에 적용되어, 블록내의 공간 샘플을 한 세트의 주파수(또는 변환) 계수로 변환하는데, 이 계수는 일반적으로 블록 간격에서 대응 주파수 대역에서의 디지털 신호의 강도를 표시한다. 압축에 있어서, 변환 계수는 선택적으로 양자화(130)될 수 있고(즉, 계수 값들의 최소 중요 비트들을 드롭하거나 또는 이와 달리 고 해상도 번호 세트에서의 값들을 저 해상도로 매핑하는 것과 같이 해상도가 줄어들 수 있고), 또한 압축 데이터 스트림으로 엔트로피 또는 가변-길이 코드화(130)될 수 있다. 디코딩시에, 변환 계수는 원래의 컬러/공간 샘플링 이미지/영상 신호를 거의 재생(재생 블록
Figure 112005069817235-pat00001
)하도록 역변환(170 - 171)할 것이다.
블록 변환(120 - 121)은 사이즈 N의 벡터 x에 대한 수학 연산으로 규정될 수 있다. 가장 흔하게, 이 연산은 1차 곱셈으로 M이 변환 메트릭스인 변환 도메인 출력 y = Mx를 생성한다. 입력 데이터가 임의로 긴 경우에, 이 입력 데이터는 N 사이즈 벡터로 세그먼트되고, 블록 변환은 각각의 세그먼트에 적용된다. 데이터 압축 을 위해, 가역 블록 변환이 선택된다. 달리 말하면, 메트릭스 M은 가역적이다. (예를 들어, 이미지 및 영상에 대한) 멀티디멘션에 있어서, 블록 변환은 일반적으로 가분 연산으로 구현된다. 메트릭스 곱셈은 데이터의 각 디멘션(즉, 행 및 열)을 따라 가분적으로 적용된다.
압축에 있어서, 변환 계수(벡터 y의 성분)는 선택적으로 양자화될 수 있고(즉, 계수 값들의 최소 중요 비트들을 드롭하거나 또는 이와 달리 고 해상도 번호 세트에서의 값들을 저 해상도로 매핑하는 것과 같이 해상도가 줄어들 수 있고), 또한 압축 데이터 스트림으로 엔트로피 또는 가변-길이 코드화될 수 있다.
디코더(150)에서의 디코딩시에, 이러한 연산의 역과정(양자화 해제/엔트로피디코딩(160) 및 블록 역변환(170 - 171))은 도 1에 도시된 바와 같이 디코더(150)측에서 적용된다. 데이터를 재생하는 동안에, 역 메트릭스M-1(역변환(170 - 171))은 변환 도메인 데이터에 대해 승수로 적용된다. 변환 도메인 데이터에 적용되는 경우에, 역변환은 원래의 시간-도메인 또는 공간-도메인 디지털 미디어를 거의 재생한다.
이용되는 변환은 간단한 DPCM 타입 예측기/수정기일 수 있거나, 또는 웨이브렛 혹은 DCT(이산 코사인 변환)와 같이 더 복잡한 구조일 수 있다. 통상 이용되는 표준 JPEG/MPEG2/MPEG4, JPEG2000 및 윈도우 미디어 비디오(WMV)는 제각기 DCT, 웨이브렛 및 정수화-DCT를 이용한다. 추가로, WMV는 블록 내부 및 프레임 내부에 대해 영상 및 레이트-일그러짐 이점을 제공하는 랩 평활화 오페레이터(lapped smoothing operator)를 이용한다. 블록 변환에 관련하여 랩 평활화 오퍼레이터는 1992년 메사추세츠주 보스턴 아텍 하우스에서 발간한 H. S. Malvar의 "Signal Processing with Lapped Transforms"에 개시되어 있는 타입의 랩 변환을 모방하려 한다.
계수 스캔 패턴
JPEG, MPEG2, MPEG4 및 WMV를 포함하는 많은 블록 변환-기반 코덱은 특정한 블록에 대응하는 양자화 계수를 인코딩하기 위해 런 렝스 코딩 기법을 이용한다(예를 들어, 1993년 뉴욕주 반 노스트란드 라인홀드에서 발간한 W. B. Pennebaker 및 J. L. Mitchell의 "JPEG : Still Image Compression Standard"를 참고하기 바란다). 런 렝스 코딩은 사전설정된 패턴에 따라 양자화 변환 계수의 블록을 스캔하여 진행된다. 이와 같은 일례는 도 3에 도시되어 있는 연속 "지그재그" 스캔 패턴이다. 유사한 연속 지그재그 스캔 패턴이 JPEG 및 MPEG2/4에 광범위하게 이용되지만, 연속적이기 위해 스캔 패턴에 고유하게 요구되는 것은 없다.
런 렝스 코딩 기법은 하위 변환(underlying transform)의 통계를 이용한다. 일반적으로, 큰 계수는 (종래에 좌상 코너에 표시되는) "DC"값에서 발생하고, 더 드물고 작은 계수는 DC로부터 먼 거리에서 발생한다. 예컨대, 이점은 양자화 후에 제로 값을 갖기 위해 변환 블록의 변환 계수 대부분에서 공통적이다. 많은 스캔 패턴은 제로가 아닌 값을 더 가지기 쉬운 계수들에 높은 우선 순위를 제공한다. 달리 말하면, 이와 같은 계수들은 스캔 패턴에서 더 일찍 스캔된다. 이런 식으로, 제로가 아닌 계수들은 함께 묶이기 쉽고, 제로 값 계수들의 하나 이상의 긴 그룹이 뒤따른다. 특히, 이것은 더 효율적인 런/레벨/라스트 코딩을 가능하게 하지만, 다른 유형의 엔트로피 코딩 또한 재순서화시에 이점을 제공한다.
블록 디멘션, 및 이미지가 인터레이스 또는 순차 포맷에 존재하는지에 따르는 것과 같이 제한된 세트의 사전설정 또는 정적인 스캔 패턴들 중에서 선택하는 영상 압축 시스템은 "Scan Patterns For Interlaced Video Content"란 명칭으로 2004년 11월 15일 출원된 Lin 등의 미국 특허 출원 제 10/989,844호와, "Scan Patterns For Progerssive Video Content"란 명칭으로 2004년 11월 15일 출원된 Liang 등의 미국 특허 출원 제 10/989,594호에 개시되어 있다.
기존 코텍의 사전설정 계수 스캔 패턴으로 도전
변환 블록에서의 가능한 계수의 패턴이 몇 가지 유형의 로컬 데이터 의존성을 보인다는 것을 관찰하였다. 예컨대, 수평 및 수직 디멘션에서의 여러 블록을 스팬할 수 있는 이미지의 텍스처 영역에서, 계수들은 기대대로 발생한다. 하지만, 강한 수직 또는 수평 특성을 갖는 이미지의 영역에서, 대응축을 따라 계수들이 존재할 가능성이 더 크다. 따라서, 텍스처 영역에 대해 이상적(이용되는 비트수를 줄인다는 의미에서)인 스캔 패턴은 선형 특성을 갖는 영역에 대해 항상 이상적인 것만은 아니다.
더욱이, 랩 변환의 이용은 스캔 패턴의 최적화에 한층 영향을 미친다. 랩 변환이 블록 변환에 의해 후속되는 전치 필터로 구현되는 경우에, 원래 이미지에서의 불연속성은 전치 필터에 의해 개선된다. 따라서, 변환 계수는 높은 가변성을 보이고, 더욱이 최고 주파수는 큰 강도로 발생한다. 사실, (많은 변환들의 계수 블록의 우하쪽에 위치하는 변환 계수인) 최고 2D 주파수가 더 이상 최소 가능성이지 않다는 것을 관찰하는 것은 흔한 일이다.
이미지 블록 범위에 대해 주어진 스캔 순서의 최적성이 부족한 세 번째 이유가 존재한다. 이것은 "DCAC 예측"의 가변 효율성에 기반한다. DCAC 예측은 X 또는 Y 디멘션 중 어느 하나에서 DC이고 그 나머지에서 AC인 "DCAC" 계수의 발생 및/또는 크기를 최소화하는 데 이용되는 인코딩 툴이다. 강한 선형 영역에 있어서, DCAC 계수는 랜덤 텍스처 영역에 대한 것보다 강한 확신을 가지고 예측될 수 있다. 따라서, 이점은 하위 데이터에 의존하는 최상의 스캔 순서뿐만 아니라 하위 데이터가 그 DCAC 계수로 얼마나 잘 예측될 수 있는가 하는 점에 의해서도 또한 영향을 받는다.
적응적 계수 스캔 순서( adaptive coefficient scan order )
이러한 도전은 블록 계수의 스캔 순서를 이미지의 로컬 통계와 효율적으로 부합시키는 본 명세서의 적응적 계수 스캔 순서화 기법에 의해 해결된다. 이러한 기법의 구현예는 연산시 매우 효율적이고, 최소 대기 시간을 가져서 속도가 중요한 이미지 및 영상 코덱에서 상당한 이점을 제공한다. 더욱이, 개시된 적응적 계수 스캔 순서의 구현은 인코더와 디코더가 우연히 접하는 것으로부터의 통계를 "기억(learn)"하여, 부수 정보를 디코더에 전송하기 위해 압축 비트 스트림에서 추가 시그널링 또는 비트 이용을 할 필요가 없다.
첨부한 도면과 함께 실시예들의 다음의 상세한 설명을 참조하면 본 발명의 추가 특성 및 이점을 알 수 있을 것이다.
다음의 설명은 적응적 계수 스캔 순서 기법을 이용하는 디지털 미디어 압축 시스템 또는 코덱에 관한 것이다. 예시를 위해, 적응적 계수 스캔 순서 기법을 구체화하는 압축 시스템의 실시예가 이미지 또는 영상 압축 시스템이다. 이와 달리, 가역 오버랩 오퍼레이터 또한 다른 디지털 미디어 또는 2D 데이터를 위해 압축 시스템 또는 코덱에 통합될 수 있다. 적응적 계수 스캔 순서 기법은 디지털 미디어 압축 시스템이 압축된 디지털 미디어 데이터를 특정한 코딩 포맷으로 인코딩하는 것을 필요로 하지 않는다.
1. 인코더/디코더
도 4 및 도 5는 상세히 후술하는 적응적 계수 스캔 순서를 이용하고, 랩 변환에 기반한 대표적인 2-디멘션(2D) 데이터 인코더(400) 및 디코더(500)에 사용되는 프로세스의 일반 도면이다. 이 도면들은 2D 데이터 인코더 및 디코더를 통합하는 압축 시스템에서 이러한 적응적 계수 스캔 순서 기법의 이용 및 애플리케이션의 일반적 또는 간단한 예를 제공한다. 적응적 계수 스캔 순서 기법이 통합되는 다른 인코더에 있어서는, 이러한 대표적 인코더 및 디코더에서 예시된 것들보다 많거나 혹은 적은 프로세스가 2D 데이터 압축에 이용될 수 있다. 예컨대, 몇몇 인코더/디코더는 컬러 전환, 컬러 포맷, 스케일가능 코딩, 무손실 코딩, 매크로블록 모드 등을 더 포함할 수도 있다. 압축 시스템(인코더 및 디코더)은 무손실에서 손실로 변하는 양자화 파라미터에 기반할 수 있는 양자화에 따라서 2D 데이터의 무손실 및/ 또는 손실 압축을 제공할 수 있다.
2D 데이터 인코더(400)는 인코더에 입력으로 제공되는 2D 데이터(410)의 (전형적인 입력을 위해) 더 콤팩트한 표현인 압축 비트스트림(420)을 생성한다. 예컨대, 2D 데이터 입력은 2 디멘션을 갖는 이미지, 영상 시퀀스의 프레임 또는 기타 데이터일 수 있다. 2D 데이터 인코더는 입력 데이터를 매크로블록으로 타일링(430)하는데, 이러한 대표적인 인코더에서 매크로블록의 사이즈가 16 X 16 픽셀이다. 2D 데이터 인코더는 각각의 매크로블록을 4 X 4 블록으로 추가 타일링(432)한다. "포워드 오버랩" 오퍼레이터(440)는 블록 사이의 각각의 에지에 적용되고, 이 후 각각의 4 X 4 블록은 블록 변환(450)을 이용하여 변환된다. 이러한 블록 변환(450)은 "Improved Reversible Transform For Lossy And Lossless 2-D Data Compression"이란 명칭으로 2004년 12월 17일에 출원되어 그 개시 내용이 본 명세서에 참조 결합된 미국 특허 출원으로 Srinivasan에 의해 개시된 가역 스케일-프리 2D 변환일 수 있다. 오버랩 오퍼레이터는 "Reversible Overlap Operator For Efficient Lossless Data Compression"이란 명칭으로 2004년 12월 17일에 또한 출원되어 그 개시 내용이 본 명세서에 참조 결합된 미국 특허 출원으로 Tu등에 의해 개시된 가역 오버랩 오퍼레이터일 수 있다. 이와 달리, 이산 코사인 변환 또는 그 밖의 블록 변환, 랩 변환 및 오버랩 오퍼레이터가 이용될 수 있다. 변환에 이어서, 각각의 4 X 4 변환 블록의 DC 계수(460)는 유사한 프로세싱 체인(4 X 4 블록 변환이 후속하는 타일링, 포워드 오버랩)에 종속된다. 그 결과적인 DC 변환 계수들 및 AC 변환 계수들은 양자화(470), 엔트로피 코딩(480) 및 패킷화(490)된다.
디코더는 역 프로세스를 수행한다. 디코더 측에 있어서, 변환 계수 비트는 자신의 제각각의 패킷으로부터 추출(510)되어, 그 계수 자신은 디코딩(520)되고 양자화 해제(530)된다. DC 계수(540)는 역변환을 가하여 재생되고, DC 계수의 면은 DC 블록 에지에 대해 가해지는 적합한 평활화 오퍼레이터를 이용하여 "역 오버랩"된다. 이어서, 전체 데이터는 DC 계수에 4 X 4 역변환(550)을 가하여 재생되고, AC 계수(542)는 비트스트림으로부터 디코딩된다. 마지막으로, 그 결과적인 이미지 면에서의 블록 에지는 역 오버랩 필터링(560)된다. 이것은 재생 2D 데이터 출력을 생성한다.
2. 적응적 계수 스캔 순서
개시된 디지털 미디어 압축 시스템의 인코더(400)(도 4) 및 디코더(500)(도 5)는 변환 계수를 엔트로피 인코딩하는 경우에 압축 효율성을 더 개선하기 위해 적응적 계수 스캔 순서 기법을 이용한다. 이러한 적응적 계수 스캔 순서는 디지털 미디어 데이터의 로컬 통계에 따라 블록 계수의 스캔 순서를 효율적으로 조절하여, 계수들은 엔트로피 인코딩(480)(도 4)에 의해 보다 효율적으로 인코딩될 수 있다. 적응적 계수 스캔 순서 기법의 구현예는 미디어 데이터가 인코더 및 디코더에 의해 프로세싱될 때 우연히 접하는 것으로부터 로컬 통계를 기억하기 위해 인코더와 디코더 측 모두에 동일한 판정 프로세스를 사용함으로써 부수 정보를 디코더에 전송하기 위한 추가 시그널링 또는 비트 이용을 피한다. 또한, 이 기법의 구현예는 (실시간 통신 및 유사한 애플리케이션에서 이점이 될 수 있는) 디지털 미디어 스트림을 인코딩/디코딩할 때 최소 대기 시간을 부과하여 연산시 효율적이다.
이러한 적응적 계수 스캔 순서 기법의 다음의 구현예는 다음의 특성들을 갖는다 :
1. 스캔 순서는 블록내에서 그 이용에 이어서만 바뀌거나 갱신되는 제약하에 디지털 미디어 데이터(예를 들어, 이미지)에 대해 바뀌는 것이 허용된다.
2. 스캔 순서 적응에 관한 알고리즘은 조건 교환 스텝에 기반하고, 그에 따라 2개의 연속 스캔 인덱스는 일정한 조건하에 플립된다.
도 6은 인코더(400) 및 디코더(500)에서 적응적 계수 스캔 순서 기법의 하나의 구현을 따른 프로시쥬어(600)를 도시하고 있다. 프로시쥬어(600)는 데이터의 전형적인 범위에 대해 잘 수행하도록 기대되는 알려진 순서에 계수 스캔 순서(또는 다수의 스캔 순서가 예를 들어 수평 및 수직 계수에 대해 적응적으로 변하는 경우의 순서)를 초기화하여 동작(610)을 개시한다. 적응적 계수 스캔 순서 기법의 몇몇 구현에 있어서, 이러한 초기 순서화는 주된 "수평" 방향성 대 "수직" 방향성을 보이는 매크로블록에 대한 계수 스캔 순서와 같이 상이한 스캔 순서 컨텍스트에서 상이할 수 있다. 몇몇 적응적 계수 스캔 순서 프로시쥬어 구현에 있어서, 방향성 또는 스캔 컨텍스트는 인코더로부터 디코더에 명시적으로 시그널링될 수 있다. 다른 구현에 있어서, 이러한 방향성은 AC 계수 이전에 전송되는 DC 부대역의 방향성으로부터 추정될 수 있다. 예컨대, 도 7은 수평 방향성을 갖는 4 X 4 블록에 대한 초기 스캔 순서(700)의 일 예를 보여주고 있다. 또한, 도 8은 수직 방향성을 갖는 4 X 4 블록에 대한 초기 스캔 순서(800)의 일 예를 보여주고 있다. 이러한 예에서, 수평 방향성 스캔 순서(700)는 어떠한 특정 방향성을 보이지 않는 블록에 또한 이용되는 초기 스캔 순서이다.
도 9에 도시된 바와 같이, 개시된 프로시쥬어(600)는 2개의 1-차원 어레이, 즉 순서 어레이(910) 및 전체 어레이(920)를 이용하는 블록 계수의 로컬 통계를 트래킹한다. 개별 세트의 어레이는 각각의 스캔 순서 컨텍스트를 위해 보존된다. 구현예에 있어서, 이러한 어레이("순서"로 명기된)는 그 엔트리로서 역 스캔, 즉 스캔 순서가 올라갈 때의 계수의 인덱스를 포함하고 있다. 프로시쥬어(600)는 초기화 동작(610)에서 이러한 어레이를 초기 스캔 순서로 초기화한다. 도 9는 초기화시에 도 8에 도시된 초기 수직 방향성 스캔 순서(800)의 예에 대해 순서 어레이(910)에 저장되는 값들을 도시하고 있다. 이러한 예에서, DC 계수는 AC 계수 이전에 전송되어, 이 어레이에서는 보이지 않는다.
각각의 역 스캔 순서 어레이(910)에 있어서, 프로시쥬어(600)는 이러한 예에서 "전체"로 명기된 어레이를 보존하고, 프로시쥬어(600)는 제각각의 계수의 발생률을 기록한다. 다음 동작(620)에서, 프로시쥬어(600)는 전체 어레이를 임의의 내림차순 값들로 초기화한다. 예컨대, 이러한 어레이는 k의 몇몇 값에 대해 {k*N, k*(N-1), k*(N-2), ... ,k}의 값들로 무리지어 진다. 이것은 도 9에서 테이블의 낮은 행에서 보여진다. 이러한 예에서의 k 값은 작은 정수가 되도록 선택되는데, 일반적으로 2와 4 사이이다. 적응적 계수 스캔 순서 프로시쥬어의 몇몇 구현에 있어서, k의 선택은 양자화(470)(도 4)에서 이용되는 양자화 파라미터에 기반할 수 있다.
인코딩 프로세스 동안에, 프로시쥬어(600)는 순서 어레이(910)의 요소에 반 영되는 스캔 순서에 따라 현재 블록의 계수를 (루프(630 - 680)로 표시되는 바와 같이) 트래버스한다. 이러한 트래버스에 있어서, 프로시쥬어는 전체 어레이(920)에 반영되는 계수의 발생률 통계를 갱신한다. 보다 구체적으로, 이러한 구현예에서의 프로시쥬어(610)는 제각각의 계수에 대한 제로가 아닌 값의 발생률에 따라 전체 어레이를 갱신한다. 스캔의 n번째 요소가 제로가 아니라면(즉, 인덱스 순서[n]을 갖는 변환 계수가 제로가 아니라면), 프로시쥬어(600)는 동작(640 및 650)에 도시된 바와 같이 전체 어레이의 n번째 요소를 1만큼 증분한다(즉, 전체[n] := 전체[n] + 1).
증분 후에, 전체[n] > 전체[n-1]이 발견되면, 이것은 현재 계수에 대한 제로가 아닌 값이 이전 계수에 비해 높은 주파수를 가지고 발생해서 했다는 것을 의미한다. 이와 같은 경우(동작(660))에, 프로시쥬어는 교환 동작(670)을 스캔 순서에 적용한다. 교환 동작(670) 동안에, n과 n-1의 스캔 순서 및 대응 전체 어레이는 다음의 의사 코드에 보여지는 바와 같이 스왑된다 :
Figure 112005069817235-pat00002
교환 동작(670)의 결과로, (교환에 앞서) 순서[n]에 의해 인덱스되는 계수는 이제 (교환에 앞서) 순서[n-1]에 의해 인덱스되는 계수 이전에 스캔된다. 이것은 사실상 이 계수에 대한 제로가 아닌 값의 발생률에 따른 계수의 버블 정렬(bubble sort)이다.
예컨대, 도 10은 전체[n] > 전체[n-1]인 상황을 보여주고 있다. 화살표는 교환될 필요가 있는 요소를 보여주고 있다. 도 11은 교환에 이은 순서 및 전체 어레이를 보여주며, 도 12는 4 X 4 블록에 대한 대응 스캔 순서 인덱스를 보여주고 있다.
개시된 적응적 계수 스캔 순서 프로시쥬어(600)에 있어서, 전체[n-1] 및 전체[n-2] 등의 어떠한 추가 조건 교환도 존재하지 않는다. 이것은 각각의 제로가 아닌 계수에 대한 스캔 순서 어레이에서 많아야 하나의 변환이 존재한다는 것을 의미하며, 따라서 개시된 프로시쥬어(600)는 제로가 아닌 계수의 개수에서 1차 순서의 복잡성을 갖는다. 계수는 루프(630 - 680)내의 각각의 블록 트래버스에 대한 스캔 순서에서 많아야 하나의 지점으로 이동할 수 있다.
개시된 프로시쥬어(600)는 모든 단계에서 최적성을 보장하지 않지만, 장시간 실행에 있어, 스캔 어레이가 순서화 알고리즘의 로직에 따라 정지 분포에 대해 전역적 최적성에 접근한다는 점을 보일 수 있다.
적응적 프로세스가 (루프(630 - 680)에서) 현재의 계수 및 (제로가 아닐 수 있거나 제로일 수 있는) 이전의 스캔 요소만을 포함하기 때문에, 그리고 또한 계수가 변환 메트릭스로부터 인코딩되고 변환 메트릭스로 디코딩된 후에 조건 스위치가 발생하기 때문에, 적응은 인과적이다. 이에 상당하게, 전제 블록은 현재의 스캔 순서를 이용하여 코딩될 수 있다. 이어서, 스캔 순서는 코딩된 제로가 아닌 계수 및 전체 어레이에 따라 수정될 수 있다. 따라서, 인코딩 또는 디코딩의 프로세스에서 야기되는 어떠한 추가 대기도 존재하지 않는다.
현재 블록에서 모든 계수를 트래버스한 후에, 프로시쥬어(600)는 동작(690)에서 인코딩/디코딩될 디지털 미디어 데이터(예를 들어, 인코딩될 이미지)의 추가 블록이 존재하는지를 검사한다. 이 후, 프로시쥬어(600)는 모든 블록이 프로세싱된 경우에 종료한다.
주기적인 간격으로, 프로시쥬어(600)는 산술 넘침을 방지하고 적응을 용이하게 하기 위해 전체 어레이를 초기화 상태로 리셋한다. 이미지 압축 코덱에서 적응적 계수 스캔 순서 프로시쥬어의 하나의 구현에 있어서, 전체 어레이는 8 매크로블록(매크로블록은 휘도 픽셀의 16 X 16 어레이이며, 대응하는 색차 픽셀을 포함한다)의 모든 청크의 개시시에 리셋된다. 전체 어레이의 임의의 요소의 최대값은 8(매크로블록) X 16(매크로블록에서 일정한 주파수의 계수) X 3(매크로블록에서의 컬러면) = 384 + 최대 초기화 값으로 제한되고, 511 이하가 안전하다. 9 비트는 이 경우의 전체 어레이에 충분하다. 그 밖의 리셋 간격은 고속 또는 저속 적응에 따라 선택될 수 있으며, 리셋 간격은 양자화 파라미터에 의존할 수도 있다. 따라서, 동작(692)에 도시된 바와 같이 전체 어레이의 리셋 간격에 있어서, 프로시쥬어(600)는 후속 블록 계수를 프로세싱하기 전에 전체 어레이가 초기화되는 동작(620)으로 복귀한다.
그 밖의 (덜 흔한) 주기 간격에 있어서, 전체 및 순서 어레이 모두는 이러한 위치에서의 임의 접속을 용이하게 하기 위해 초기화 상태로 리셋된다. 동작(693)에 도시된 바와 같이, 프로시쥬어는 이와 같은 간격으로 전체 및 순서 어레이의 초기화 동작(610)에 복귀한다. 예컨대, 코덱 구현에 따라, 프로시쥬어는 이미지 비 트스트림의 독립 코딩 부분의 엔트리 포인트 또는 영상 시퀀스의 각각의 이미지 개시 시점 등에서 초기화 상태로 리셋할 수 있다.
3. 버블 정렬에 비교
버블 정렬은 데이터 어레이를 정렬(sorting)하기 위한 종래의 컴퓨터 프로시쥬어이다. 버블 정렬 프로시쥬어(bubble sort procedure)는 다음과 같이 설명될 수 있다. (일반적인 손실 없이 수치적이라고 가정될 수 있는) N 요소 어레이를 X로 표현하도록 하자. X[i]는 i번째 요소로, 인덱스 i는 1부터 N까지 실행한다.
버블 정렬은 어레이의 N-1 트래버스에 의해 진행하고, 각각의 트래버스는 N-1 조건 교환 동작으로 구성된다. 오름차순 정렬 순서(ascending sort order)에 대한 조건 교환 동작은 다음과 같이 규정된다 :
2와 N 사이인 몇몇 i에 있어서, X[i-1] > X[i]라면 어레이 요소 X[i-1]과 X[i]를 교환한다. 각각의 트래버스 동안에, 조건 교환 동작은 2에서 개시하고 N까지 순서대로 실행하는 각각의 인덱스 i에 대해 적용된다.
N-1 트래버스 종료시에, 어레이 X는 정렬된다. 알파벳순으로 내림차순 정렬하거나 또는 랭크 순서 인덱스를 생성하기 위해 약간 수정한 동일 프로시쥬어가 이용될 수도 있다. 특히, 버블 정렬은 그 바람직하지 못한 실행 시간으로 인해 자주 이용되지는 않는다.
본 명세서에 개시된 적응적 계수 스캔 순서 프로시쥬어(600)는 유사한 조건 교환 동작, 즉 조건 교환 동작(660, 670)에 기반한다. 적응적 계수 스캔 순서 프로시쥬어(600)의 구현예는 이 예시 프로시쥬어(600)가 더 완화된 갱신 스케줄을 따른다는 점에서 버블 정렬과 상이하다. 보다 구체적으로, 버블 정렬과의 두 가지 차이점은 다음을 포함한다 :
1. 인코딩/디코딩되는 블록마다 어레이의 하나의 트래버스만이 존재한다.
2. 각각의 트래버스 동안에, 조건 교환 동작은 제로가 아닌 계수에 대응하는어레이 요소에만 적용된다.
이러한 차이점은 프로시쥬어(600)의 연산 복잡성이 임의의 이미지/영상 코덱의 성능 내에서 잘 해결된다는 점을 보장하는 것에 도움이 된다. 동시에, (버블 정렬에서와 같이) 조건 교환 동작(660, 670)의 프로시쥬어(600)에서의 이용은 (전체 어레이에 반영되는 것과 같이) 통계가 안정적인 경우에 최적성이 점근적으로 유지된다는 이점을 갖는다.
개시된 적응적 계수 스캔 순서 프로시쥬어(600)는 고정 스캔 테이블을 이용하는 엔트로피 코딩 기법에 비해 2%에 달하는 비트 전송률 절약을 이룬다는 점이 발견되었다. 이와 달리, 이 기법은 여러 적응 테이블들 중 하나를 선택하기 위해 다른 정교한 컨텍스트 모델, 및 데이터의 런 렝스 코딩을 위한 허프만, 비트플레인 또는 산술 인코딩 기법과 결합하여 이용될 수 있다. 예컨대, 상이한 적응적 스캔 모델은 고역 통과 및 저역 통과 대역과 함께 이용될 수 있다.
적응적 계수 스캔 순서 기법은 다수의 변환 유형(예컨대, 4 X 8 및 8 X 4 사이즈 블록 등에 대해)으로 코딩하기 위해서뿐만 아니라 더 큰 변환 사이즈를 코딩하는데 이용될 수 있다. 마찬가지로, 블록 또는 매크로블록은 이미지에 대한 임의의 사전설정 방식으로 스캔될 수 있다. 조건 교환 단계는 성능 이점을 위해 히 스테리시스 또는 상이한 룰을 이용하거나, 또는 권익 관리 목적을 위해 데이터를 저하/흐리게 하는데 이용될 수 있다..
4. 연산 환경
적응적 계수 스캔 순서 기법을 이용하는 전술한 코덱은 디지털 미디어 신호 프로세싱이 수행되고, 여러 예들 중에서 특히 컴퓨터, 이미지 및 영상 기록, 송수신 장치, 휴대용 영상기, 영상 회의 등을 포함하는 다양한 장치들 중 임의의 장치에서 수행될 수 있다. 디지털 미디어 코딩 기법은 도 13에 도시된 바와 같이 컴퓨터 또는 기타 연산 환경에서 수행되는 디지털 미디어 프로세싱 소프트웨어 및 하드웨어 회로에서 구현될 수 있다.
도 13은 개시된 실시예가 구현될 수 있는 적합한 연산 환경(1300)의 일반예를 도시하고 있다. 연산 환경(1300)은 본 발명이 다양한 일반 목적 또는 특별 목적의 연산 환경에서 구현될 수 있기 때문에 본 발명의 이용 또는 기능성의 범위에 있어 어떠한 제한을 가하려고 의도되지 않는다.
도 13에 있어서, 연산 환경(1300)은 적어도 하나의 프로세싱 유닛(1310) 및 메모리(1320)를 포함한다. 도 13에서, 이러한 대부분의 기본 구성(1330)은 대시 라인내에 포함된다. 프로세싱 유닛(1310)은 컴퓨터 실행가능 명령을 실행하는데, 실제 또는 가상 프로세서일 수 있다. 멀티-프로세싱 시스템에 있어서, 다수의 프로세싱 유닛은 프로세싱 파워를 증가시키기 위해 컴퓨터 실행가능 명령을 실행한다. 메모리(1320)는 휘발성 메모리(예컨대, 레지스터, 캐시, RAM), 비휘발성 메모리(예컨대, ROM, EEPROM, 플래시 메모리 등) 또는 이 둘의 일정한 조합일 수 있다. 메모리(1320)는 전술한 인코더/디코더 및 적응적 계수 스캔 순서 프로시쥬어를 구현하는 소프트웨어(1380)를 저장한다.
연산 환경은 추가 특성들을 가질 수도 있다. 예를 들어, 연산 환경(1300)은 저장(1340), 하나 이상의 입력 장치(1350), 하나 이상의 출력 장치(1360) 및 하나 이상의 통신 접속(1370)을 포함한다. 버스, 제어기 또는 네트워크와 같은 상호접속 메카니즘(도시되지 않음)은 연산 환경(1300)의 구성요소를 상호접속한다. 일반적으로, 운영 시스템 소프트웨어(도시되지 않음)는 연산 환경(1300)에서 실행되는 다른 소프트웨어에 운영 환경을 제공하고, 연산 환경(1300)의 구성요소의 동작을 조율한다.
저장(1340)은 이동 또는 비이동 저장 매체일 수 있으며, 정보를 저장하는 데 이용될 수 있고 연산 환경(1300) 내에서 액세스될 수 있는 자기 디스크, 자기 테이프 혹은 카세트, CD-ROM, CD-RW, DVD 또는 임의의 다른 매체를 포함한다. 저장(1340)은 코덱 및 적응적 계수 스캔 순서 프로시쥬어를 구현하는 소프트웨어(1380)에 관한 명령들을 저장한다.
입력 장치(들)(1350)는 입력을 연산 환경(1300)에 제공하는, 키보드, 마우스, 펜 혹은 트랙볼과 같은 터치 입력 장치, 음성 입력 장치, 스캐닝 장치 또는 기타 장치 일 수 있다. 음성에 관해, 입력 장치(들)(1350)는 아날로그 혹은 디지털 형태의 음성 입력을 받아들이는 사운드 카드 혹은 유사 장치, 또는 음성 샘플을 연산 환경에 제공하는 CD-ROM 판독기일 수 있다. 출력 장치(들)(1360)는 연산 환경(1300)으로부터의 출력을 제공하는 디스플레이, 프린터, 스피커, CD-쓰기 프로그램 또는 기타 장치일 수 있다.
통신 접속(들)(1370)은 통신 매체를 통해 다른 연산 엔티티와의 통신을 가능하게 한다. 통신 매체는 컴퓨터 실행가능 명령, 압축 음성 혹은 영상 정보 또는 기타 데이터와 같은 정보를 변조 데이터 신호로 전송한다. 변조 데이터 신호는 하나 이상의 그 특성 세트를 가지거나 또는 신호의 정보를 인코딩하는 식으로 변환된 신호이다. 예로서, 통신 미디어는 전기, 광학, RF, 적외선, 음향 또는 그 밖의 반송파로 구현되는 유선 또는 무선 기법을 포함하는데, 이에 국한되지는 않는다.
본 명세서의 디지털 미디어 프로세싱 기법은 컴퓨터 판독가능 미디어와의 일반 관계에서 설명될 수 있다. 컴퓨터 판독가능 미디어는 연산 환경내에서 액세스될 수 있는 임의의 가용 미디어이다. 예로서, 연산 환경(1300)에 있어서, 컴퓨터 판독가능 미디어는 메모리(1320), 저장(1340), 통신 미디어 및 이들의 임의 조합을 포함하는데, 이에 국한되지는 않는다.
본 명세서의 디지털 미디어 프로세싱 기법은 연산 환경에서 목표한 실제 또는 가상 프로세서에 대해 실행되고, 프로그램 모듈에 포함되는 명령들과 같은 컴퓨터 실행가능 명령들과의 일반 관계에서 설명될 수 있다. 일반적으로, 특정한 임무를 수행하거나 또는 특정한 추상 데이터 타입을 구현하는 루틴, 프로그램, 자료집, 객체, 클래스, 구성요소, 데이터 구조 등을 포함한다. 프로그램 모듈들의 기능성은 다양한 실시예들에서 원하는 바에 따라 프로그램 모듈들 간에 결합되거나 또는 분리될 수 있다. 프로그램 모듈에 대한 컴퓨터 실행가능 명령은 로컬 또는 분산 연산 환경에서 실행될 수 있다.
프리젠테이션에 있어서, 상세한 설명은 연산 환경에서의 컴퓨터 동작을 설명하기 위해 "판정", "생성", "조절" 및 "적용"과 같은 용어들을 사용하였다. 이러한 용어들은 컴퓨터에 의해 수행되는 동작에 대해 상당히 추상적인데, 인간에 의해 수행되는 행위와 혼동되어서는 안 된다. 이러한 용어들에 대응하는 실제 컴퓨터 동작들은 구현에 따라 변한다.
본 발명의 원리가 적용될 수 있는 많은 가능한 실시예들에 있어서, 이러한 실시예들 모두는 다음의 청구범위 및 그 균등물의 사상과 범주내이다.
본 발명은 연산시 매우 효율적이고, 최소 대기 시간을 가져서 속도가 중요한 이미지 및 영상 코덱에서 상당한 이점을 제공하며, 또한 부수 정보를 디코더에 전송하기 위해 압축 비트 스트림에서 추가 시그널링 또는 비트 이용을 할 필요가 없다.

Claims (29)

  1. 디지털 미디어 데이터를 포함하는 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법(block transform-based method)으로서, 상기 압축된 비트스트림 내에 배열된 복수의 연속되는 코딩된 블록들 - 상기 블록들은 복수의 엔트로피 인코딩된 계수 값들을 가짐 - 각각에 대하여,
    상기 압축된 비트스트림 내의 상기 복수의 연속되는 코딩된 블록들 중 현재 블록의 계수를 엔트로피 디코딩하는 단계;
    스캔 순서에 따라, 상기 현재 블록에 대한 상기 디코딩된 계수 값을 복수의 위치를 갖는 블록 구조로 배열하는 단계;
    상기 블록 구조에 걸친(across the block structure) 상기 위치들에서의 계수 값들의 통계적 발생률(statistical incidence of occurrence)을 분석하는 단계;
    상기 위치들에서의 계수 값들의 발생률에 대한 통계의 세트를 갱신하는 단계 - 상기 통계는, 상기 복수의 연속되는 코딩된 블록들 중 이전까지 반복된 블록들로부터 상기 위치들에서의 계수 값들의 발생률을 나타내는 것임 - ; 및
    상기 갱신된 통계에 따라 상기 스캔 순서를 적응시키는(adapting) 단계
    를 반복적으로 수행하며,
    상기 통계에 의해 나타나는 상기 계수 값들은 비-제로(non-zero) 계수 값들이고,
    상기 적응시키는 단계는, 상기 통계가 제2 위치에서의 비-제로 계수 값의 발생률이 제1 위치에서의 비-제로 계수 값의 발생률보다 높은 것을 나타내는 경우에는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서를 교환하며,
    상기 통계가 상기 제2 위치에서의 비-제로 계수 값의 발생률이 상기 제1 위치에서의 비-제로 계수 값의 발생률보다 낮은 것을 나타내는 경우에는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서를 교환하지 않고,
    상기 제2 위치의 스캔 순서는 상기 제1 위치의 스캔 순서와 인접하고,
    상기 방법은, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서가 교환된 경우 상기 현재 블록에 대한 상기 제2 위치의 스캔 순서에 추가적인 변경을 실행하지 않는 것인,
    압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  2. 제 1 항에 있어서,
    결정적, 인과적 기초(deterministic, causal basis)에 따라 상기 스캔 순서를 적응시키는 단계를 수행하는 단계를 더 포함하여, 상기 인코딩된 디지털 미디어 데이터에서의 상기 계수의 스캔 순서의 명시적 시그널링(explicit signaling)이 회피되는, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  3. 제 1 항에 있어서,
    상기 스캔 순서를 적응시키는 단계는,
    상기 위치들에서의 상기 계수 값들의 상기 통계적 발생률에 따라 상기 위치들을 정렬시키는(sorting) 단계; 및
    상기 정렬에 따라 상기 스캔 순서를 적응시키는 단계
    를 포함하는, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  4. 제 1 항에 있어서,
    상기 스캔 순서를 적응시키는 단계는,
    상기 스캔 순서에 따라 상기 위치들을 트래버스(traversal)함에 있어서, 해당 위치들에서의 상기 계수 값들의 통계적 발생률을 나타내는 상기 값들의 비교에 기초하여 상기 스캔 순서가 인접한 위치들의 순서를 조건적으로 교환하는 단계
    를 더 포함하는, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  5. 제 4 항에 있어서,
    상기 디지털 미디어 데이터의 블록마다 두 위치들의 스캔 순서에 대해 오직 하나의 조건적 교환만을 수행하는 단계를 더 포함하는, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  6. 제 1 항에 있어서,
    상기 디지털 미디어 데이터의 블록들의 상기 디코딩 동안에 상기 위치들에서의 상기 계수 값들의 통계적 발생률을 주기적으로 리셋하는 단계를 더 포함하는, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  7. 제 1 항에 있어서,
    상기 스캔 순서를 초기 순서로 초기화하는 단계; 및
    상기 스캔 순서를 주기적으로 다시 초기화하는 단계
    를 더 포함하는, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  8. 삭제
  9. 디지털 미디어 디코더로서,
    변환 계수들의 블록 배열에서의 위치들의 스캔 순서를 나타내는 스캔 순서- 표시 데이터 구조(scan order-representing data structure), 및 상기 위치들에서의 계수 값들의 통계적 발생률을 나타내는 통계-표시 데이터 구조(statistics-representing data structure)를 포함하는 메모리 - 상기 통계적 발생률은 스캔 순서가 초기 순서로 설정된 때로부터 이전까지 디코딩된 각각의 블록들 내의 위치들에서의 계수 값들의 발생률을 나타내는 것임 - ; 및
    프로세서를 포함하고
    상기 프로세서는,
    디지털 미디어 데이터의 현재 블록의 계수에 대한 상기 통계-표시 데이터 구조를 갱신하는 단계;
    상기 갱신된 통계-표시 데이터 구조에 기초하여 상기 위치들의 스캔 순서를 적응시키는 단계; 및
    상기 적응된 스캔 순서를 나타내기 위해 상기 스캔 순서-표시 데이터 구조를 갱신하는 단계
    를 수행하도록 프로그램되며,
    상기 적응시키는 단계는, 상기 통계-표시 데이터 구조가 제2 위치에서의 비-제로 계수 값의 발생률이 제1 위치에서의 비-제로 계수 값의 발생률보다 높은 것을 나타내는 경우에는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서를 교환하며,
    상기 통계-표시 데이터 구조가 상기 제2 위치에서의 비-제로 계수 값의 발생률이 상기 제1 위치에서의 비-제로 계수 값의 발생률보다 낮은 것을 나타내는 경우에는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서를 교환하지 않고,
    상기 적응시키는 단계는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서가 교환된 경우 상기 현재 블록에 대한 상기 제2 위치의 스캔 순서에 추가적인 변경을 실행하지 않는 것인,
    디지털 미디어 디코더.
  10. 제 9 항에 있어서,
    상기 스캔 순서를 적응시키는 상기 프로세서는, 상기 갱신된 통계-표시 데이터 구조에 의해 나타나는 통계적 발생률에 따라 상기 위치들을 정렬시키도록 프로그램되는 프로세서를 포함하는, 디지털 미디어 디코더.
  11. 제 9 항에 있어서,
    상기 스캔 순서를 적응시키는 상기 프로세서는, 상기 스캔 순서의 인접 순서 위치들(adjacently-ordered locations)에서 상기 계수 값들의 상기 통계적 발생률을 비교하고, 상기 비교에 기초한 스캔 순서로 상기 인접 순서 위치들을 조건적으로 교환하도록 프로그램되는 프로세서를 포함하는, 디지털 미디어 디코더.
  12. 제 11 항에 있어서,
    상기 스캔 순서를 적응시키는 상기 프로세서는, 상기 디지털 미디어 데이터의 블록마다 두 위치들의 스캔 순서에 대해 오직 하나의 조건적 교환만을 수행하도록 프로그램되는 프로세서를 포함하는, 디지털 미디어 디코더.
  13. 제 9 항에 있어서,
    상기 통계-표시 데이터 구조는 상기 위치들에서의 비-제로(non-zero) 계수 값들의 통계적 발생률을 나타내는, 디지털 미디어 디코더.
  14. 디지털 미디어 데이터를 포함하는 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법을 수행하기 위한 컴퓨터 실행가능 디지털 미디어 프로세싱 프로그램을 기록한 적어도 하나의 컴퓨터 판독가능 기록 매체로서,
    상기 방법은,
    상기 압축된 비트스트림 내에 배열된 복수의 연속되는 코딩된 블록들 - 상기 블록들은 복수의 엔트로피 인코딩된 계수 값들을 가짐 - 각각에 대하여,
    상기 압축된 비트스트림 내의 상기 복수의 연속되는 코딩된 블록들 중 현재 블록의 계수를 엔트로피 디코딩하는 단계;
    스캔 순서에 따라, 상기 현재 블록에 대한 상기 디코딩된 계수 값을 복수의 위치를 갖는 블록 구조에 배열하는 단계;
    상기 블록 구조에 걸친(across the block structure) 상기 위치들에서의 계수 값들의 통계적 발생률(statistical incidence of occurrence)을 분석하는 단계;
    상기 위치들에서의 계수 값들의 발생률에 대한 통계의 세트를 갱신하는 단계 - 상기 통계는, 상기 분석하는 단계에 기초하여, 상기 복수의 연속되는 코딩된 블록들 중 이전까지 반복된 블록들로부터 상기 위치들에서의 계수 값들의 발생률을 나타내는 것임 - ; 및
    상기 갱신된 통계에 따라 상기 스캔 순서를 적응시키는(adapting) 단계
    를 반복적으로 수행하며,
    상기 통계에 의해 나타나는 상기 계수 값들은 비-제로(non-zero) 계수 값들이고,
    상기 적응시키는 단계는, 상기 통계가 제2 위치에서의 비-제로 계수 값의 발생률이 제1 위치에서의 비-제로 계수 값의 발생률보다 높은 것을 나타내는 경우에는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서를 교환하며,
    상기 통계가 상기 제2 위치에서의 비-제로 계수 값의 발생률이 상기 제1 위치에서의 비-제로 계수 값의 발생률보다 낮은 것을 나타내는 경우에는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서를 교환하지 않고,
    상기 제2 위치의 스캔 순서는 상기 제1 위치의 스캔 순서와 인접하고,
    상기 방법은, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서가 교환된 경우 상기 현재 블록에 대한 상기 제2 위치의 스캔 순서에 추가적인 변경을 실행하지 않는 것인,
    적어도 하나의 컴퓨터 판독가능 기록매체.
  15. 제 14 항에 있어서,
    상기 방법은 결정적, 인과적 기초에 따라 상기 스캔 순서를 적응시키는 단계를 더 포함하여, 상기 인코딩된 디지털 미디어 데이터에서의 상기 계수의 스캔 순서의 명시적 시그널링이 회피되는, 적어도 하나의 컴퓨터 판독가능 기록매체.
  16. 제 14 항에 있어서,
    상기 방법은, 상기 블록 구조 내의 상기 위치들에서의 계수 값들의 통계적 발생률에 따라 상기 위치들을 정렬시키는 단계; 및
    상기 정렬에 따라 상기 스캔 순서를 적응시키는 단계
    를 더 포함하는, 적어도 하나의 컴퓨터 판독가능 기록매체.
  17. 제 14 항에 있어서,
    상기 스캔 순서를 적응시키는 단계는,
    상기 스캔 순서에 따라 상기 위치들을 트래버스함에 있어서, 해당 위치들에서의 상기 계수 값들의 통계적 발생률을 나타내는 상기 값들의 비교에 기초하여 상기 스캔 순서가 인접한 위치들의 순서를 조건적으로 교환하는 단계
    를 더 포함하고, 상기 방법은, 상기 디지털 미디어 데이터의 블록마다 두 위치들의 스캔 순서에 대해 오직 하나의 조건적 교환만을 수행하는, 적어도 하나의 컴퓨터 판독가능 기록매체.
  18. 삭제
  19. 제 14 항에 있어서,
    상기 방법은,
    상기 스캔 순서를 초기 순서로 초기화하는 단계;
    상기 디지털 미디어 데이터의 블록들의 디코딩 동안에 상기 위치들에서의 상기 계수 값들의 통계적 발생률을 주기적으로 리셋하는 단계; 및
    상기 스캔 순서를 상기 초기 순서로 주기적으로 다시 초기화하는 단계
    를 더 포함하는, 적어도 하나의 컴퓨터 판독가능 기록매체.
  20. 삭제
  21. 제 7 항에 있어서,
    상기 스캔 순서를 초기 순서로 초기화하는 단계는,
    상기 복수의 블록들에 대한 주 방향성 스캔 컨텍스트(dominant orientation scan context)를 결정하는 단계;
    복수의 미리 결정된 스캔 순서들 중에서, 상기 결정된 주 방향성 스캔 컨텍스트와 연관된 미리 결정된 스캔 순서를 사용하기 위해 선택하는 단계
    를 포함하고,
    상기 선택된 스캔 순서는 상기 선택된 스캔 순서에 대한 갱신된 통계에 따라 적응되는 것인, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  22. 제 21 항에 있어서,
    상기 주 방향성 스캔 컨텍스트는 상기 압축된 비트스트림 내의 인코더에 의해 명시적으로 시그널링되는, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  23. 제 21 항에 있어서,
    상기 주 방향성 스캔 컨텍스트는 DC 계수들의 방향성으로부터 디코더에 의해 결정되는 것인, 압축된 비트스트림을 디코딩하는 블록 변환 기반 방법.
  24. 디지털 미디어 데이터를 포함하는 압축된 비트스트림을 인코딩하는 블록 변환 기반 방법(block transform-based method)으로서, 배열된 복수의 연속되는 코딩된 블록들 - 상기 블록들은 복수의 엔트로피 코딩된 계수 값들을 가짐 - 각각에 대하여,
    스캔 순서에 따라, 상기 복수의 연속되는 블록들 중 현재 블록의 위치에서의 계수 값을 엔트로피 인코딩하는 단계;
    상기 위치에서의 비-제로(non-zero) 값인 계수 값들의 통계적 발생률을 분석하는 단계;
    상기 위치들에서의 비-제로 값인 계수 값들의 발생률에 대한 통계의 세트를 갱신하는 단계 - 상기 통계는, 스캔 순서가 초기 순서로 설정된 이후에 이전까지 인코딩된 각 블록 내의 위치들에서의 비-제로 값인 계수 값들의 발생률을 나타내는 것임 - ; 및
    상기 갱신된 통계에 따라 상기 스캔 순서를 적응시키는(adapting) 단계
    를 반복적으로 수행하며,
    상기 적응시키는 단계는, 상기 통계가 제2 위치에서의 비-제로 계수 값의 발생률이 제1 위치에서의 비-제로 계수 값의 발생률보다 높은 것을 나타내는 경우에는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서를 교환하며,
    상기 통계가 상기 제2 위치에서의 비-제로 계수 값의 발생률이 상기 제1 위치에서의 비-제로 계수 값의 발생률보다 낮은 것을 나타내는 경우에는, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서를 교환하지 않고,
    상기 제2 위치의 스캔 순서는 상기 제1 위치의 스캔 순서와 인접하고,
    상기 방법은, 상기 제1 위치의 스캔 순서와 상기 제2 위치의 스캔 순서가 교환된 경우 상기 현재 블록에 대한 상기 제2 위치의 스캔 순서에 추가적인 변경을 실행하지 않는 것인,
    압축된 비트스트림을 인코딩하는 블록 변환 기반 방법.
  25. 제 24 항에 있어서,
    상기 디지털 미디어 데이터의 블록들을 인코딩하는 동안에 상기 위치들에서의 비-제로 값인 계수 값들의 통계적 발생률을 주기적으로 재설정하는 단계를 더 포함하는, 압축된 비트스트림을 인코딩하는 블록 변환 기반 방법.
  26. 제 25 항에 있어서,
    상기 스캔 순서를 초기 순서로 초기화하는 단계; 및
    상기 스캔 순서를 주기적으로 다시 초기화하는 단계
    를 포함하는, 압축된 비트스트림을 인코딩하는 블록 변환 기반 방법.
  27. 제 24 항에 있어서, 상기 스캔 순서는 제1 어레이에 저장되고, 상기 통계는 제2 어레이에 저장되는, 압축된 비트스트림을 인코딩하는 블록 변환 기반 방법.
  28. 실행되었을 때, 컴퓨터로 하여금 제 24 항 내지 제 27 항 중 어느 하나의 방법을 수행하도록 하는 프로그램을 저장하는 적어도 하나의 컴퓨터 판독가능 기록매체.
  29. 메모리; 및
    제 24 항 내지 제 27 항 중 어느 하나의 방법을 수행하도록 프로그래밍된 프로세서
    를 포함하는, 디지털 미디어 처리 장치.
KR1020050115372A 2004-12-31 2005-11-30 적응적 계수 스캔 순서 KR101260073B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/026,650 2004-12-31
US11/026,650 US8311119B2 (en) 2004-12-31 2004-12-31 Adaptive coefficient scan order

Publications (2)

Publication Number Publication Date
KR20060079087A KR20060079087A (ko) 2006-07-05
KR101260073B1 true KR101260073B1 (ko) 2013-05-02

Family

ID=36390237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050115372A KR101260073B1 (ko) 2004-12-31 2005-11-30 적응적 계수 스캔 순서

Country Status (10)

Country Link
US (2) US8311119B2 (ko)
EP (1) EP1679903B1 (ko)
JP (2) JP4700491B2 (ko)
KR (1) KR101260073B1 (ko)
CN (1) CN1798341B (ko)
AU (1) AU2005234613B2 (ko)
BR (1) BRPI0504835B1 (ko)
CA (1) CA2527654C (ko)
MX (1) MXPA05012973A (ko)
RU (1) RU2404534C2 (ko)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8208540B2 (en) 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
US7903739B2 (en) * 2005-08-05 2011-03-08 Lsi Corporation Method and apparatus for VC-1 to MPEG-2 video transcoding
US8045618B2 (en) 2005-08-05 2011-10-25 Lsi Corporation Method and apparatus for MPEG-2 to VC-1 video transcoding
US7912127B2 (en) * 2005-08-05 2011-03-22 Lsi Corporation H.264 to VC-1 and VC-1 to H.264 transcoding
US7881384B2 (en) * 2005-08-05 2011-02-01 Lsi Corporation Method and apparatus for H.264 to MPEG-2 video transcoding
US8155194B2 (en) * 2005-08-05 2012-04-10 Lsi Corporation Method and apparatus for MPEG-2 to H.264 video transcoding
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
WO2007046644A1 (en) * 2005-10-21 2007-04-26 Electronics And Telecommunications Research Institute Apparatus and method for encoding and decoding moving picture using adaptive scanning
CA2666622A1 (en) 2006-10-20 2008-04-24 Nokia Corporation Generic indication of adaptation paths for scalable multimedia
US8184710B2 (en) 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US8619853B2 (en) * 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
JP2009027541A (ja) * 2007-07-20 2009-02-05 Ntt Docomo Inc 画像符号化装置、方法及びプログラム、並びに、画像復号装置、方法及びプログラム
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
TWI349487B (en) * 2008-03-25 2011-09-21 Novatek Microelectronics Corp Entropy encoding circuit and encoding method thereof
JP5177400B2 (ja) * 2008-04-24 2013-04-03 株式会社メガチップス エンコーダ
TWI376959B (en) * 2008-05-02 2012-11-11 Novatek Microelectronics Corp Entropy decoding circuit, entropy decoding method, and entropy decoding method using a pipeline manner
US8000546B2 (en) * 2008-08-01 2011-08-16 National Cheng Kung University Adaptive scan method for image/video coding
US8194991B2 (en) 2008-10-20 2012-06-05 Motorola Mobililty, Inc. Out-of-order coding
EP2182732A1 (en) 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
US8737613B2 (en) * 2008-11-20 2014-05-27 Mediatek Inc. Scanning methods of transform-based digital data processing that conditionally adjust scan order according to characteristics information and related apparatus thereof
EP2396969A4 (en) * 2009-02-13 2012-12-12 Research In Motion Ltd MODIFIED ENTROPIC CODING FOR IMAGES AND VIDEOS
CA2751802A1 (en) 2009-02-13 2010-08-19 Research In Motion Limited In-loop deblocking for intra-coded images or frames
WO2010091503A1 (en) 2009-02-13 2010-08-19 Research In Motion Limited Adaptive quantization with balanced pixel-domain distortion distribution in image processing
JP5421609B2 (ja) * 2009-02-17 2014-02-19 キヤノン株式会社 スキャン変換装置及び画像符号化装置、並びにそれらの制御方法
JP5004986B2 (ja) * 2009-03-19 2012-08-22 キヤノン株式会社 スキャン変換装置及び画像符号化装置、並びにそれらの制御方法
JP5240935B2 (ja) * 2009-05-13 2013-07-17 株式会社メガチップス 画像処理装置
JP5302769B2 (ja) * 2009-05-14 2013-10-02 キヤノン株式会社 スキャン変換装置及び画像符号化装置及びそれらの制御方法
EP2271102A1 (en) * 2009-06-29 2011-01-05 Thomson Licensing Adaptive residual image coding
US9094691B2 (en) * 2010-03-15 2015-07-28 Mediatek Singapore Pte. Ltd. Methods of utilizing tables adaptively updated for coding/decoding and related processing circuits thereof
US20110243220A1 (en) * 2010-04-05 2011-10-06 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order
US9049450B2 (en) 2010-04-05 2015-06-02 Samsung Electronics Co., Ltd. Method and apparatus for encoding video based on internal bit depth increment, and method and apparatus for decoding video based on internal bit depth increment
US9369736B2 (en) 2010-04-05 2016-06-14 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
KR20110112168A (ko) * 2010-04-05 2011-10-12 삼성전자주식회사 내부 비트뎁스 확장에 기반한 비디오 부호화 방법 및 그 장치, 내부 비트뎁스 확장에 기반한 비디오 복호화 방법 및 그 장치
WO2011126282A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index
US8929440B2 (en) * 2010-04-09 2015-01-06 Sony Corporation QP adaptive coefficients scanning and application
RS56512B1 (sr) * 2010-04-13 2018-02-28 Ge Video Compression Llc Kodiranje mapa značaja i blokova koeficijenata transformacije
US8559741B2 (en) * 2010-06-02 2013-10-15 Altek Corporation Lossless image compression method
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
JP2012019448A (ja) * 2010-07-09 2012-01-26 Sony Corp 画像処理装置および方法
CN102447895B (zh) 2010-09-30 2013-10-02 华为技术有限公司 扫描方法及装置、反扫描方法及装置
EP2606648A1 (en) 2010-10-05 2013-06-26 General instrument Corporation Coding and decoding utilizing adaptive context model selection with zigzag scan
US9641846B2 (en) 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
JP2012129888A (ja) * 2010-12-16 2012-07-05 Samsung Electronics Co Ltd 画像符号化装置及び画像符号化方法
US20120163472A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Efficiently coding scanning order information for a video block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US20120236931A1 (en) * 2010-12-23 2012-09-20 Qualcomm Incorporated Transform coefficient scan
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
CN102685503B (zh) 2011-03-10 2014-06-25 华为技术有限公司 变换系数的编码方法、变换系数的解码方法,和装置
US9491469B2 (en) 2011-06-28 2016-11-08 Qualcomm Incorporated Coding of last significant transform coefficient
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
US9756360B2 (en) * 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US8891616B1 (en) 2011-07-27 2014-11-18 Google Inc. Method and apparatus for entropy encoding based on encoding cost
LT3849198T (lt) * 2011-11-07 2023-01-25 Tagivan Ii Llc Vaizdo dekodavimo būdas ir vaizdo dekodavimo įrenginys
US8660374B1 (en) * 2011-12-23 2014-02-25 Massachusetts Institute Of Technology Selecting transform paths for compressing visual data
CN108769691B (zh) * 2011-12-28 2022-05-31 夏普株式会社 图像解码装置、图像解码方法以及图像编码装置
US9363510B2 (en) * 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
JP2012170140A (ja) * 2012-05-11 2012-09-06 Ntt Docomo Inc 画像符号化装置及び画像復号装置
US9774856B1 (en) 2012-07-02 2017-09-26 Google Inc. Adaptive stochastic entropy coding
US9509998B1 (en) 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding
CN104104958B (zh) * 2013-04-08 2017-08-25 联发科技(新加坡)私人有限公司 图像解码方法及其图像解码装置
SG11201600128WA (en) 2013-07-24 2016-02-26 Microsoft Technology Licensing Llc Scanning orders for non-transform coding
JP5646713B2 (ja) * 2013-09-13 2014-12-24 株式会社Nttドコモ 画像符号化装置、方法及びプログラム、並びに、画像復号装置、方法及びプログラム
US9392288B2 (en) 2013-10-17 2016-07-12 Google Inc. Video coding using scatter-based scan tables
US9179151B2 (en) 2013-10-18 2015-11-03 Google Inc. Spatial proximity context entropy coding
KR102218196B1 (ko) 2013-10-28 2021-02-23 삼성전자주식회사 인코더, 이의 동작 방법과, 상기 인코더를 포함하는 장치들
JP5893711B2 (ja) * 2014-11-04 2016-03-23 株式会社Nttドコモ 画像符号化装置、方法及びプログラム、並びに、画像復号装置、方法及びプログラム
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10261832B2 (en) * 2015-12-02 2019-04-16 At&T Mobility Ii Llc Sorting apparatus
JP6109354B2 (ja) * 2016-01-20 2017-04-05 株式会社Nttドコモ 画像復号装置、方法及びプログラム
RU2707719C1 (ru) 2016-02-12 2019-11-28 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство выбора порядка сканирования
CA3014271C (en) 2016-02-12 2020-10-20 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
CN107545011B (zh) * 2016-06-29 2020-04-10 高德信息技术有限公司 一种数据读取方法及装置
US10440394B2 (en) 2016-09-08 2019-10-08 Google Llc Context adaptive scan order for entropy coding
US11477492B2 (en) 2017-08-04 2022-10-18 Google Inc. Adaptation for entropy coding of blocks of image data
EP3484148A1 (en) 2017-11-09 2019-05-15 Thomson Licensing Automated scanning order for sub-divided blocks
US10382758B2 (en) * 2017-12-15 2019-08-13 Google Llc Transform block-level scan order selection for video coding
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
CN111090048B (zh) * 2019-12-19 2021-09-24 重庆大学 一种新能源汽车车载数据自适应时间间隔传输方法
CN112903613B (zh) * 2021-02-24 2022-11-08 南昌大学 一种基于Labview的瞬态吸收光谱控制系统设计方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729484A (en) 1994-02-28 1998-03-17 Intel Corporation Processes, apparatuses, and systems of encoding and decoding signals using transforms

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5714950A (en) * 1992-07-23 1998-02-03 Samsung Electronics Co., Ltd. System for variable-length-coding and variable-length-decoding digitaldata
JPH06177774A (ja) 1992-12-04 1994-06-24 Asahi Chem Ind Co Ltd 画像再生方法および画像再生装置
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
JPH0750836A (ja) 1993-08-06 1995-02-21 Sharp Corp 画像符号化装置
JP3292221B2 (ja) 1993-09-14 2002-06-17 ソニー株式会社 画像圧縮符号化方法
US5748244A (en) 1995-03-28 1998-05-05 Daewoo Electronics Co., Ltd. Adaptive runlength coding based on zero and non-zero subblocks
KR0178198B1 (ko) * 1995-03-28 1999-05-01 배순훈 영상 신호 부호화 장치
JPH0974562A (ja) 1995-09-04 1997-03-18 Nippon Telegr & Teleph Corp <Ntt> 画像信号符号化方法
JP3967405B2 (ja) 1996-10-09 2007-08-29 テキサス インスツルメンツ インコーポレイテツド 画像信号の符号化方法
CN1124569C (zh) * 1997-01-31 2003-10-15 西门子公司 数字化图象编码和解码的方法和装置
JPH11275582A (ja) 1998-03-22 1999-10-08 Sony Corp 画像符号化装置及び画像復号装置並びにそれらの方法
KR100323692B1 (ko) 1999-05-13 2002-02-07 구자홍 허프만 테이블의 재배열에 의한 영상 부호화 방법 및 영상 부호화기 및 복호화기
US6947874B2 (en) * 2000-11-16 2005-09-20 Canon Kabushiki Kaisha Entropy coding
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
KR100468844B1 (ko) 2002-01-07 2005-01-29 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
JP2003333339A (ja) 2002-05-13 2003-11-21 Sony Corp 画像符号化装置及び画像符号化方法
US7463782B2 (en) * 2002-11-05 2008-12-09 Canon Kabushiki Kaisha Data encoding with an amplitude model and path between the data and corresponding decoding
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729484A (en) 1994-02-28 1998-03-17 Intel Corporation Processes, apparatuses, and systems of encoding and decoding signals using transforms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xiaopeng Fan et al., "A NOVEL COEFFICIENT SCANNING SCHEME FOR DIRECTIONAL SPATIAL PREDICTION-BASED IMAGE COMPRESSION", Multimedia & Expo, 2003. ICME '03. Proceedings. 6-9 July 2003. p. II-557-60 vol.2

Also Published As

Publication number Publication date
CN1798341A (zh) 2006-07-05
US8824557B2 (en) 2014-09-02
US8311119B2 (en) 2012-11-13
BRPI0504835A8 (pt) 2016-10-04
JP2011125038A (ja) 2011-06-23
KR20060079087A (ko) 2006-07-05
US20060146936A1 (en) 2006-07-06
JP5027936B2 (ja) 2012-09-19
BRPI0504835A (pt) 2006-09-12
RU2404534C2 (ru) 2010-11-20
JP2006191628A (ja) 2006-07-20
MXPA05012973A (es) 2006-06-29
CN1798341B (zh) 2012-07-18
EP1679903A3 (en) 2006-07-26
CA2527654C (en) 2015-01-06
EP1679903A2 (en) 2006-07-12
AU2005234613A1 (en) 2006-07-20
BRPI0504835B1 (pt) 2018-12-26
CA2527654A1 (en) 2006-06-30
EP1679903B1 (en) 2014-10-01
RU2005137246A (ru) 2007-06-10
JP4700491B2 (ja) 2011-06-15
US20130070843A1 (en) 2013-03-21
AU2005234613B2 (en) 2010-02-25

Similar Documents

Publication Publication Date Title
KR101260073B1 (ko) 적응적 계수 스캔 순서
JP5819347B2 (ja) スキップマクロブロックコード化
AU2006280178B2 (en) Prediction of transform coefficients for image compression
JP4986622B2 (ja) 条件付き重複変換
US20060126955A1 (en) Spatial extrapolation of pixel values in intraframe video coding and decoding
RU2760234C2 (ru) Кодирование и декодирование данных
US20070036222A1 (en) Non-zero coefficient block pattern coding
AU2021200431B2 (en) Techniques for high efficiency entropy coding of video data
KR20130054408A (ko) 지그재그 스캔에 의한 적응적 컨텍스트 모델 선택을 이용하는 코딩 및 디코딩
CN110536133B (zh) 视频数据解码方法及装置
KR20150096353A (ko) 이미지 인코딩 시스템, 디코딩 시스템 및 그 제공방법
KR101583870B1 (ko) 이미지 인코딩 시스템, 디코딩 시스템 및 그 제공방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 7