KR100927510B1 - 가변 길이 부호화 방법, 가변 길이 부호화 장치 및 기억 매체 - Google Patents

가변 길이 부호화 방법, 가변 길이 부호화 장치 및 기억 매체 Download PDF

Info

Publication number
KR100927510B1
KR100927510B1 KR1020037015428A KR20037015428A KR100927510B1 KR 100927510 B1 KR100927510 B1 KR 100927510B1 KR 1020037015428 A KR1020037015428 A KR 1020037015428A KR 20037015428 A KR20037015428 A KR 20037015428A KR 100927510 B1 KR100927510 B1 KR 100927510B1
Authority
KR
South Korea
Prior art keywords
data
encoding
variable length
parameter
information
Prior art date
Application number
KR1020037015428A
Other languages
English (en)
Other versions
KR20040099101A (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 KR20040099101A publication Critical patent/KR20040099101A/ko
Application granted granted Critical
Publication of KR100927510B1 publication Critical patent/KR100927510B1/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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 발명은, 압축 효율을 향상시킨 가변 길이 부호화 방법에 의해 부호화된 데이터를 정확하게 복호화하는 것에 있다. 가변 길이 부호화 방법은, 파라미터표를 참조하면서 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 방법으로서, 이하의 단계를 구비하고 있다. ◎ 취득된 파라미터표를 초기값으로 설정하는 초기화 단계 ◎ 초기화된 파라미터표에 열람하는 정보를 부호화하는 파라미터표 정보 부호화 단계 ◎ 소정 단위의 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 부호화 파라미터를 파라미터표로부터 취득하는 파라미터 취득 단계 ◎ 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 부호화하는 서브데이터 부호화 단계 ◎ 부호화된 정보를 부호화된 소정 단위의 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 정보 부호화 데이터 배치 단계

Description

가변 길이 부호화 방법, 가변 길이 부호화 장치 및 기억 매체{VARIABLE LENGTH ENCODING METHOD, VARIABLE LENGTH ENECODING DEVICE, AND STORAGE MEDIUM}
본 발명은, 가변 길이 부호화 방법, 그것에 대응한 가변 길이 복호화 방법, 그들 처리를 컴퓨터에 행하게 하는 프로그램을 저장하는 기억 매체, 가변 길이 부호화 장치 및 그것에 대응한 가변 길이 복호화 장치에 관한 것이다. 본 발명은, 특히, 부호화된 데이터에 의해서 부호화 방법을 최적화하는 동적인 가변 길이 부호화 방법, 그것에 대응한 가변 길이 복호화 방법, 그들 처리를 컴퓨터에 행하게 하는 프로그램을 저장하는 기억 매체, 부호화된 데이터에 의해서 부호화 방법을 최적화하는 동적인 가변 길이 부호화 장치 및 그것에 대응한 가변 길이 복호화 장치에 관한 것이다.
최근, 화상 부호화 방식의 국제표준화 활동에 의해, 화상의 압축, 복원의 기술로서, 정지 화상의 JPEG나 동화상의 MPEG 등이 규격화되어 있다.
MPEG(Moving Picture Experts Group) 부호화 방식은, 주로, 움직임 보상 프레임간 예측 유닛과, DCT(이산 코사인 변환) 유닛과, 가변 길이 부호화 유닛으로 구성되어 있다. 움직임 보상 프레임간 예측 유닛은 입력 화상과 전(前) 화상 데이터로부터 움직임 벡터를 검출하고, 움직임 벡터와 전 화상 데이터로부터 예측 오차 데이터를 작성한다. DCT 유닛은 예측 오차 데이터를 DCT 변환한다. 양자화 유닛은 DCT 계수를 양자화하고, 가변 길이 부호화 유닛은 양자화된 DCT 계수나 움직임 벡터에 부호어(符號語)를 할당해 간다.
MPEG 부호화 방식에서의 화상 부호화 데이터는, 시퀀스, GOP(Group Of Picture), 픽처, 슬라이스, 매크로 블록, 블록의 6층의 계층 구조를 갖고 있다. 픽처는 한 장의 화상에 대응하는 기본적 부호화 단위이며, 복수의 슬라이스로 구성되어 있다. 슬라이스는 동기 복귀 단위이며, 하나 또는 복수의 매크로 블록으로 이루어지는 띠 형상의 영역이다.
가변 길이 부호화란, 엔트로피 부호화의 일종이며, DCT 변환 후의 계수(DCT 계수)값이나 움직임 벡터값 등은 발생 확률에 편차가 있기 때문에, 이들 값 중 발생 확률이 높은 값에는 짧은 부호어를 할당하고, 발생 확률이 낮은 값에는 긴 부호어를 할당하는 것에 의해, 평균 정보량을 감소시키는 것이다.
가변 길이 부호화의 주된 종류로서는, 허프만 부호화(Huffman encoding)나 산술 부호화가 있다.
허프만 부호화는, 각 심볼을 잎으로 한 허프만 부호목에 의해 부호어를 결정하는 방법이며, 각 부호에 대응하는 부호어(비트열)의 대응표(부호표)를 이용한다.
허프만 부호화에서는, 압축율 향상을 위해, 변화하는 동화상의 통계적 성질에 따라 부호표를 작성하는 방법이나, 복수의 부호표를 준비해 둬 화상의 통계적 성질에 따라 부호표를 전환하는 방법이 이용되고 있다. 정보 이론에서는, 발생 확률 p의 부호에 log2(1/p) 비트를 할당하는 부호표가, 평균 정보량이 가장 적은 것이 증명되어 있다. 그래서, 복수의 부호표를 전환하는 방법에서는, 부호화된 데이터로부터 발생 확률을 계산하여, 발생 확률 p의 부호에 log2(1/p) 비트에 가까운 비트수가 할당되는 부호표를 선택한다.
산술 부호화는, 심볼의 계열을 발생 확률에 따라 구간[0, 1)에 사영하여, 수직선 상의 확률 공간을 구간 내의 적당한 수로 2진 표현하는 수법이다. 산술 부호화는, 항상 통계적 성질을 감시하면서 부호화를 하고, 구체적으로는, 화상 내용에 따라 확률표를 재기록하면서, 확률표를 참조하면서 부호어를 결정한다. 보다 구체적으로는, 산술 부호화에서는, 발생 확률 p의 부호에 log2(1/p) 비트가 할당되도록, 산술 연산에서 이용하는 확률을 부호화된 데이터로부터 발생 확률을 차차 갱신한다.
산술 부호화에서는, 허프만 부호화와는 달리, 산술 연산(가감승제)만으로 부호어에 상당하는 비트열을 취득할 수 있기 때문에, 허프만 부호화에 비해 부호표를 기억하기 위해서 필요한 메모리량을 삭감할 수 있다. 또한, 부호화의 도중에서 통계적 성질이 변해도 확률표를 재기록하는 것으로 대응할 수 있다. 그러나, 산술 연산, 특히 승제산은 높은 연산 능력이 필요하여, 저 연산 능력의 기기에서는 실현 이 곤란하다는 결점도 갖는다.
이상에서 말한 동적인 부호화 방법에서는, 부호화된 데이터에 의해서 동적으로 부호화 방법을 최적화해 가기 때문에, 고정적인 부호화 방법에 비해 압축 효율을 향상시킬 수 있다.
그러나, 부호화된 데이터에 의해서 동적으로 부호화 방법을 최적화하는 경우에는, 하기의 문제점이 있다.
학습에 의한 동적 부호화는, 예컨대, 픽처의 헤더 이후 즉 각 슬라이스나 매크로 블록, 블록마다 행해진다. 그 경우에는, 산술 부호화에서는 각 픽처에서의 초기값에 고정의 확률표가 이용되고, 허프만 부호화에서는 각 픽처에서의 초기의 부호표로서 고정의 가변 길이 부호표가 이용되고 있다. 이와 같이 고정의 초기값이 이용되기 때문에, 초기화된 후, 학습에 의해서 최적의 확률표나 부호표를 얻을 수 있을 때까지는, 부호화의 압축 효율이 좋다고는 할 수 없다. 특히, 전체의 데이터수가 작은 경우는, 학습하기 위해서 필요한 데이터수의 비율이 커져, 압축율이 그다지 높지 않다.
한편, 부호화된 데이터 중 학습에 사용되는 부분이 전송로에서 손상되면, 복호화기에 있어서 올바른 학습이 실행되지 않아 복호화 불능으로 되고, 화상 데이터의 경우는 전송로 오류에 의한 화질 열화가 발생한다. 전송로 오류에 강하게 하기 위해서는, 정기적으로 학습 결과를 리셋하는 것으로 되지만, 리셋 간격을 길게 하면 오류에 약해지기 때문에, 리셋 간격은 어느 정도 짧아지게 해야 한다.
이상과 같이, 전송로 오류의 문제를 해결하는 것을 전제로 하면, 현재 상태 의 동적인 부호화 방법에서는, 압축 효율이 충분히 향상하지 않는다.
본 발명의 과제는, 화상 압축 등에 사용하는 가변 길이 부호화 방법의 압축 효율을 향상하는 것이다.
본 발명의 다른 과제는, 압축 효율을 향상시킨 가변 길이 부호화 방법에 의해 부호화된 데이터를 정확하게 복호화하는 것이다.
청구항 1에 기재된 가변 길이 부호화 방법은, 파라미터표를 참조하면서 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 방법으로서, 이하의 단계를 구비하고 있다.
◎ 파라미터표를 초기값으로 설정하는 초기화 단계
◎ 초기화된 파라미터표에 대한 정보를 부호화하는 파라미터표 정보 부호화 단계
◎ 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 부호화 파라미터를 파라미터표로부터 취득하는 파라미터 취득 단계
◎ 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 부호화하는 서브데이터 부호화 단계
◎ 부호화된 정보를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 정보 부호화 데이터 배치 단계
또, 부호화 파라미터란, 데이터의 발생 빈도를 나타내는 것이며, 파라미터표 로부터 취득되고, 각 서브데이터의 부호화시에 참조된다. 산술 부호화의 경우에는 파라미터표는 확률표에 대응하고, 또한 부호화 파라미터는 확률에 대응하는 것이 되지만, 그것들에 한정되지 않는다.
이 부호화 방법에서는, 각 서브데이터의 부호화에 있어서 파라미터표로부터 취득한 부호화 파라미터를 이용하고 있기 때문에, 소정 단위 데이터를 부호화할 때의 압축 효율이 향상한다. 또한, 초기화된 파라미터표에 대한 정보는 부호화되고, 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치되어 있기 때문에, 복호화시는 그 파라미터표를 초기값으로 하여 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 2에 기재된 가변 길이 부호화 방법에서는, 청구항 1에 있어서, 부호화한 서브데이터의 값에 근거하여 파라미터표를 갱신하고, 부호화 파라미터를 파라미터표로부터 취득한다.
이 부호화 방법에서는, 부호화한 서브데이터의 값에 근거하여 파라미터표를 갱신하고 있기 때문에, 소정 단위 데이터를 부호화할 때의 압축 효율이 향상한다.
청구항 3에 기재된 가변 길이 부호화 방법에서는, 청구항 1 또는 2에 있어서, 서브데이터 부호화 단계에서 이용되는 부호화 파라미터의 초기값은, 직전의 부호화한 서브데이터의 값에 근거하여 도출한 파라미터표로부터 취득되고 있다.
이 부호화 방법에서는, 부호화 파라미터의 초기값은, 직전의 부호화한 서브데이터의 값에 근거한 파라미터표로부터 취득된 부호화 파라미터에 근거하여 부호화되기 때문에, 실시간으로 부호화 파라미터를 도출할 수 있어 부호화가 고속으로 된다.
청구항 4에 기재된 가변 길이 부호화 방법에서는, 청구항 1 또는 2에 있어서, 서브데이터 부호화 단계에서 이용되는 부호화 파라미터의 초기값은, 당해 부호화한 서브데이터의 값에 근거하여 도출한 파라미터표로부터 취득되어 있다.
이 부호화 방법에서는, 부호화 파라미터의 초기값은, 당해 부호화한 서브데이터의 값에 근거한 파라미터표로부터 취득된 부호화 파라미터에 근거하여 최적의 부호화 파라미터를 도출할 수 있기 때문에, 당해 서브데이터와 직전의 서브데이터의 내용이 크게 다른 경우에도, 압축 효율이 높다.
청구항 5에 기재된 가변 길이 부호화 방법에서는, 청구항 1∼4 중 어느 한 항에 있어서, 서브데이터 부호화 단계에서는, 서브데이터를, 부호화 파라미터를 참조하여 산술 부호화한다.
이 부호화 방법에서는, 서브데이터의 부호화 방법으로서 산술 부호화를 이용하고 있기 때문에, 압축 효율이 좋다. 또, 파라미터표는 확률표에 대응하고 있고, 부호화 파라미터는 확률에 대응하고 있다.
청구항 6에 기재된 가변 길이 부호화 방법에서는, 청구항 1∼5 중 어느 한 항에 있어서, 파라미터표에 대한 정보는 파라미터표 그 자체이다.
청구항 7에 기재된 가변 길이 부호화 방법에서는, 청구항 6에 있어서, 파라미터표 정보 부호화 단계에서는, 파라미터표의 일부만을 부호화한다.
이 부호화 방법에서는, 초기화된 파라미터표의 모두가 아니라, 일부만이 부호화되기 때문에 부호화량을 삭감할 수 있다.
청구항 8에 기재된 가변 길이 부호화 방법에서는, 청구항 7에 있어서, 파라미터표의 일부는, 발생 확률이 높은 부호화된 데이터에 대응하는 파라미터 부분이다.
이 부호화 방법에서는 초기화된 파라미터표 중 발생 확률이 높은 부호화된 데이터에 대응하는 부분만을 부호화하기 때문에, 부호화량을 삭감하면서도, 복호화시에 충분히 정확하게 복호화할 수 있다.
청구항 9에 기재된 가변 길이 부호화 방법에서는, 청구항 1∼5 중 어느 한 항에 있어서, 파라미터표에 대한 정보는 파라미터표를 나타내는 정보이다.
이 부호화 방법에서는, 파라미터표를 나타내는 정보를 부호화하는 것이고 파라미터표 그 자체를 부호화하는 것은 아니기 때문에, 부호화량을 삭감할 수 있다.
청구항 10에 기재된 가변 길이 부호화 방법에서는, 청구항 9에 있어서, 정보 부호화 데이터 배치 단계에서는, 부호화된 파라미터표를 나타내는 정보는 소정 단위 데이터에 대한 공통 데이터의 일부로서 배치된다.
이 부호화 방법에서는, 파라미터표에 대한 정보는 소정 단위 데이터에 대한 공통 데이터의 일부로서 배치되어 있고, 그 일부로서의 기능도 갖고 있기 때문에, 부호화량을 삭감할 수 있다.
청구항 11에 기재된 가변 길이 부호화 방법에서는, 청구항 1∼10 중 어느 한 항에 있어서, 정보 부호화 단계에서는, 파라미터표에 대한 정보를 고정적인 부호화 방법으로 부호화한다.
이 부호화 방법에서는, 고정적인 부호화 방법을 이용하고 있기 때문에, 초기 화된 파라미터표에 대한 정보는 정적으로 부호화된다. 그 때문에, 초기화된 파라미터표에 대한 정보는 확실히 복호화된다.
청구항 12에 기재된 가변 길이 부호화 방법은, 청구항 1∼11 중 어느 한 항에 있어서, 초기화된 파라미터표에 대한 정보를 부호화할지 여부를 판단하는 부호화 판단 단계와, 판단 결과를 식별하는 플래그를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 플래그 배치 단계를 더 구비하고 있다.
이 부호화 방법에서는, 초기화된 파라미터표에 대한 정보가 부호화됐는지 여부는, 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치된 플래그에 의해서 판단할 수 있다. 또, 초기값으로서 쓰인 파라미터표에 대한 정보가 부호화되지 않는 것은, 예컨대, 다음에 파라미터표가 초기화되기까지의 데이터수가 충분히 많은(즉 충분히 학습하는 데 필요한 데이터수가 전체의 데이터수에서 점유하는 비율이 작고, 그 때문에 학습 효율이 좋은) 경우나, 또는, 초기값으로서 쓰인 파라미터표가 학습에 의해서 얻어지는 최적의 파라미터표와 거의 일치하는 경우 등이다.
청구항 13에 기재된 가변 길이 부호화 방법에서는, 청구항 1∼12 중 어느 한 항에 있어서, 소정 단위 데이터는 화상 데이터에서의 픽처이다.
이 부호화 방법에서는, 전 화상 데이터 내에서 파라미터표를 부호화하는 빈도가 적절하며, 그 때문에, 전송로 오류에 의해 학습해야 할 부호화 데이터의 일부가 결핍하여, 부호화시와 같은 파라미터표를 복호화시에 재현할 수 없게 된 경우에 도, 고 빈도로 부호화된 파라미터표를 복호화하는 것으로 수초 이상 화상이 재생 불가능해지는 상태가 발생하는 경우가 없고, 또한 파라미터표의 데이터량의 용장이 커지는 경우도 없다.
청구항 14에 기재된 가변 길이 부호화 방법에서는, 청구항 1∼12 중 어느 한 항에 있어서, 소정 단위 데이터는 화상 데이터에서의 슬라이스이다.
이 부호화 방법에서는, 전(全) 화상 데이터 내에서 파라미터표를 부호화하는 빈도가 적절하며, 그 때문에, 전송로 오류에 의해 학습해야 할 부호화 데이터의 일부가 결핍하여, 부호화시와 같은 파라미터표를 복호화시에 재현할 수 없게 된 경우에도, 고 빈도로 부호화된 파라미터표를 복호화하는 것으로 수초 이상 화상이 재생 불가능해지는 상태가 발생하는 경우가 없고, 또한 파라미터표의 데이터량의 용장이 커지는 경우도 없다.
청구항 15에 기재된 가변 길이 복호화 방법은, 스트림을 구성하는 각 소정 단위 데이터를, 파라미터표를 참조하여 복호화하는 방법으로서, 이하의 단계를 구비하고 있다.
◎ 스트림의 파라미터표에 대한 정보를 복호화하는 파라미터표 정보 복호화 단계
◎ 파라미터표에 대한 정보에 근거하여 파라미터표의 초기값을 설정하는 파라미터표 초기화 단계
◎ 소정 단위 데이터를 구성하는 서브데이터의 복호화에 이용되는 부호화 파라미터를 파라미터표로부터 취득하는 파라미터 취득 단계
◎ 스트림의 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 복호화하는 서브데이터 복호화 단계
이 복호화 방법에서는, 파라미터표에 대한 정보를 복호화하고, 그것에 근거하여 취득한 파라미터표를 초기값으로 설정하기 때문에, 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 16에 기재된 가변 길이 복호화 방법에서는, 청구항 15에 있어서, 복호화한 서브데이터의 값에 근거하여 파라미터표를 갱신하고, 부호화 파라미터를 파라미터표로부터 취득한다.
청구항 17에 기재된 가변 길이 복호화 방법에서는, 청구항 15 또는 16에 있어서, 서브데이터 복호화 단계에서는, 서브데이터를, 부호화 파라미터를 참조하여 산술 복호화한다.
청구항 18에 기재된 가변 길이 복호화 방법에서는, 청구항 15∼17 중 어느 한 항에 있어서, 파라미터표 정보 복호화 단계에서는, 파라미터표에 대한 정보를 고정적인 복호화 방법으로 복호화한다.
청구항 19에 기재된 기억 매체는, 컴퓨터에 가변 길이 부호화 처리를 하게 하기 위한 프로그램을 저장한 것이다. 가변 길이 부호화 처리는, 파라미터표를 참조하면서 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 방법으로서, 이하의 단계를 구비하고 있다.
◎ 파라미터표를 초기값으로 설정하는 초기화 단계
◎ 초기화된 파라미터표에 대한 정보를 부호화하는 파라미터표 정보 부호화 단계
◎ 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 부호화 파라미터를 파라미터표로부터 취득하는 파라미터 취득 단계
◎ 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 부호화하는 서브데이터 부호화 단계
◎ 부호화된 정보를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 정보 부호화 데이터 배치 단계
이 기억 매체에서는 저장된 프로그램을 컴퓨터에 로드함으로써, 컴퓨터에 가변 길이 부호화 처리를 하게 한다. 그 처리에서, 각 서브데이터의 부호화에 있어서 파라미터표로부터 취득한 부호화 파라미터를 이용하고 있기 때문에, 소정 단위 데이터를 부호화할 때의 압축 효율이 향상한다. 또한, 초기화된 파라미터표에 대한 정보는 부호화되고, 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치되어 있기 때문에, 복호화시는 그 파라미터표를 초기값으로 하여 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 20에 기재된 기억 매체는, 컴퓨터에 가변 길이 복호화 처리를 하게 하기 위한 프로그램을 저장한 것이다. 가변 길이 복호화 처리는, 스트림을 구성하는 각 소정 단위 데이터를, 파라미터표를 참조하여 복호화하는 가변 길이 복호화 방법으로서, 이하의 단계를 구비하고 있다.
◎ 스트림의 파라미터표에 대한 정보를 복호화하는 파라미터표 정보 복호화 단계
◎ 파라미터표에 대한 정보에 근거하여 파라미터표의 초기값을 설정하는 파라미터표 초기화 단계
◎ 소정 단위 데이터를 구성하는 서브데이터의 복호화에 이용되는 부호화 파라미터를 파라미터표로부터 취득하는 파라미터 취득 단계
◎ 스트림의 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 복호화하는 서브데이터 복호화 단계
이 기억 매체에서는, 저장된 프로그램을 컴퓨터에 로드함으로써, 컴퓨터에 가변 길이 복호화 처리를 하게 한다. 그 처리에서, 파라미터표에 대한 정보를 복호화하고, 그것에 근거하여 취득한 파라미터표를 초기값으로 설정하기 때문에, 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 21에 기재된 가변 길이 부호화 방법은, 가변 길이 부호표를 전환하면서 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 방법으로서, 이하의 단계를 구비하고 있다.
◎ 가변 길이 부호표를 초기값으로 설정하는 초기화 단계
◎ 초기화된 가변 길이 부호표를 나타내는 정보를 부호화하는 가변 길이 부호표 정보 부호화 단계
◎ 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 가변 길이 부호표를 선택하는 가변 길이 부호표 선택 단계
◎ 서브데이터를, 선택된 가변 길이 부호표를 참조하여 부호화하는 서브데이터 부호화 단계
◎ 부호화된 가변 길이 부호표를 나타내는 정보를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 정보 부호화 데이터 배치 단계
이 부호화 방법에서는, 각 서브데이터의 부호화에 있어서 선택된 가변 길이 부호표를 이용하고 있기 때문에, 소정 단위 데이터를 부호화할 때의 압축 효율이 향상한다. 또한, 초기화된 가변 길이 부호표를 나타내는 정보는 부호화되고, 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치되어 있기 때문에, 복호화시는 그 정보가 나타내는 가변 길이 부호표를 초기값으로 하여 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 22에 기재된 가변 길이 부호화 방법에서는, 청구항 21에 있어서, 부호화한 서브데이터의 값에 근거하여 가변 길이 부호표를 선택한다.
이 부호화 방법에서는, 부호화한 서브데이터의 값에 근거하여 가변 길이 부호표를 선택하고 있기 때문에, 소정 단위 데이터를 부호화할 때의 압축 효율이 향상한다.
청구항 23에 기재된 가변 길이 부호화 방법에서는, 청구항 22에 있어서, 서브데이터 부호화 단계에서는, 부호화에 이용되는 가변 길이 부호표는, 부호화한 직전의 서브데이터의 값에 근거하여 선택된 가변 길이 부호표이다.
이 부호화 방법에서는, 서브데이터는, 직전의 부호화한 서브데이터의 값에 근거하여 선택된 가변 길이 부호표에 근거하여 부호화되기 때문에, 실시간으로 부호화할 수 있어, 부호화가 고속으로 된다.
청구항 24에 기재된 가변 길이 부호화 방법에서는, 청구항 22에 있어서, 서브데이터 부호화 단계에서는, 부호화에 이용되는 가변 길이 부호표는, 부호화한 당해 서브데이터의 값에 근거하여 선택된 가변 길이 부호표이다.
이 부호화 방법에서는, 서브데이터는, 당해 부호화한 서브데이터의 값에 근거하여 선택된 가변 길이 부호표에 근거하여 부호화되기 때문에, 당해 서브데이터와 직전의 서브데이터의 내용이 크게 다른 경우에도, 압축 효율이 높다.
청구항 25에 기재된 가변 길이 부호화 방법에서는, 청구항 21∼24 중 어느 한 항에 있어서, 가변 길이 부호표 정보 부호화 단계에서는, 고정적인 부호화 방법으로 부호화한다.
이 부호화 방법에서는, 고정적인 부호화 방법을 이용하고 있기 때문에, 초기화된 가변 길이 부호표를 나타내는 정보는 확실히 복호화된다.
청구항 26에 기재된 가변 길이 부호화 방법은, 청구항 21∼25 중 어느 한 항에 있어서, 초기화된 가변 길이 부호표를 나타내는 정보를 부호화할지 여부를 판단하는 부호화 판단 단계와, 판단 결과를 식별하는 플래그를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 플래그 배치 단계를 더 구비하고 있다.
이 부호화 방법에서는, 초기화된 가변 길이 부호표를 나타내는 정보가 부호화됐는지 여부는, 부호화 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치된 플래그에 의해서 판단할 수 있다. 또, 초기값으로서 쓰인 가변 길이 부호표를 나타내는 정보가 부호화되지 않는 것은, 예컨대, 다음에 가변 길이 부호표가 초기 화되기까지의 데이터수가 충분히 많은(즉 충분히 학습하는 데 필요한 데이터수가 전체의 데이터수에서 점유하는 비율이 작고, 그 때문에 학습 효율이 좋은) 경우나, 또는, 초기값으로서 쓰인 가변 길이 부호표가 학습에 의해서 얻어지는 최적의 가변 길이 부호표와 일치하는 경우 등이다.
청구항 27에 기재된 가변 길이 부호화 방법에서는, 청구항 21∼26 중 어느 한 항에 있어서, 소정 단위 데이터는 화상 데이터에서의 픽처이다.
이 부호화 방법에서는, 전 화상 데이터 내에서 가변 길이 부호표를 나타내는 정보를 부호화하는 빈도가 적절하며, 그 때문에, 전송로 오류에 의해 정보 부호화 데이터가 파괴된 경우라도 수초 이상 화상이 재생 불가능해지는 상태가 발생하는 경우가 없고, 아직 정보 부호화 데이터의 량의 용장이 커지는 경우도 없다.
청구항 28에 기재된 가변 길이 부호화 방법에서는, 청구항 21∼26 중 어느 한 항에 있어서, 소정 단위 데이터는 화상 데이터에서의 슬라이스이다.
이 부호화 방법에서는, 전 화상 데이터 내에서 가변 길이 부호표를 나타내는 정보를 부호화하는 빈도가 적절하며, 그 때문에, 전송로 오류에 의해 정보 부호화 데이터가 파괴된 경우라도 수초 이상 화상이 재생 불가능해지는 상태가 발생하는 경우가 없고, 아직 정보 부호화 데이터의 량의 용장이 커지는 경우도 없다.
청구항 29에 기재된 가변 길이 부호화 방법에서는, 청구항 21∼28 중 어느 한 항에 있어서, 서브데이터의 복수의 신택스 요소는, 가변 길이 부호표를 전환하는 가변 길이 부호화 방법에 의해서 부호화되는 부분과, 고정적인 부호화 방법에 의해서 부호화되는 부분을 포함하고 있다.
이 부호화 방법에서는, 예컨대, 화상 데이터에 있어서, 가변 길이 부호표를 전환하는 가변 길이 부호화 방법에 의해서 서브데이터를 부호화하는 것으로 높은 압축 효율을 얻을 수 있고, 또한, 고정적인 부호화 방법에 의해서 공통 데이터인 헤더를 부호화하는 것으로 처리를 간단히 할 수 있다. 또, 헤더는 원래 압축 효과가 적기 때문에, 고정적인 부호화 방법을 이용해도 특별히 지장은 없다.
청구항 30에 기재된 가변 길이 복호화 방법은, 스트림을 구성하는 각 소정 단위 데이터를, 가변 길이 부호표를 전환하면서 복호화하는 방법으로서, 이하의 단계를 구비하고 있다.
◎ 스트림의 가변 길이 부호표를 나타내는 정보를 복호화하는 가변 길이 부호표 정보 복호화 단계
◎ 가변 길이 부호표를 나타내는 정보에 근거하여 가변 길이 부호표의 초기값을 설정하는 가변 길이 부호표 초기화 단계
◎ 소정 단위 데이터를 구성하는 서브데이터의 복호화에 이용되는 가변 길이 부호표를 선택하는 가변 길이 부호표 선택 단계
◎ 스트림의 서브데이터를, 선택된 가변 길이 부호표를 참조하여 가변 길이 복호화하는 서브데이터 복호화 단계
이 복호화 방법에서는, 선택된 가변 길이 부호표를 나타내는 정보를 복호화하고, 그 정보가 나타내는 가변 길이 부호표를 초기값으로 설정하기 때문에, 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 31에 기재된 기억 매체는, 컴퓨터에 가변 길이 부호화 처리를 하게 하기 위한 프로그램을 저장한 것이다. 가변 길이 부호화 처리는, 가변 길이 부호표를 전환하면서 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 방법으로서, 이하의 단계를 구비하고 있다.
◎ 가변 길이 부호표를 초기값으로 설정하는 초기화 단계
◎ 초기화된 가변 길이 부호표를 나타내는 정보를 부호화하는 가변 길이 부호표 정보 부호화 단계
◎ 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 가변 길이 부호표를 선택하는 가변 길이 부호표 선택 단계
◎ 서브데이터를, 선택된 가변 길이 부호표를 참조하여 부호화하는 서브데이터 부호화 단계
◎ 부호화된 가변 길이 부호표를 나타내는 정보를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 정보 부호화 데이터 배치 단계
이 기억 매체에서는, 저장된 프로그램이 컴퓨터에 행하게 하는 부호화 처리에 있어서, 각 서브데이터의 부호화에 있어서 선택된 가변 길이 부호표를 이용하고 있기 때문에, 소정 단위 데이터를 부호화할 때의 압축 효율이 향상한다. 또한, 초기화된 가변 길이 부호표를 나타내는 정보는 부호화되고, 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치되기 때문에, 복호화시는 그 정보가 나타내는 가변 길이 부호표를 초기값으로 하여 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 32에 기재된 기억 매체는, 컴퓨터에 가변 길이 복호화 처리를 하게 하기 위한 프로그램을 저장한 것이다. 가변 길이 복호화 처리는, 스트림을 구성하는 각 소정 단위 데이터를, 가변 길이 부호표를 전환하면서 복호화하는 가변 길이 복호화 방법으로서, 이하의 단계를 구비하고 있다.
◎ 스트림의 가변 길이 부호표를 나타내는 정보를 복호화하는 가변 길이 부호표 정보 복호화 단계
◎ 가변 길이 부호표를 나타내는 정보에 근거하여 가변 길이 부호표의 초기값을 설정하는 가변 길이 부호표 초기화 단계
◎ 소정 단위 데이터를 구성하는 서브데이터의 복호화에 이용되는 가변 길이 부호표를 선택하는 가변 길이 부호표 선택 단계
◎ 스트림의 서브데이터를, 선택된 가변 길이 부호표를 참조하여 가변 길이 복호화하는 서브데이터 복호화 단계
이 기억 매체에서는, 저장된 프로그램이 컴퓨터에 행하게 하는 복호화 처리에 있어서, 가변 길이 부호표를 나타내는 정보를 복호화하여 그 정보가 나타내는 가변 길이 부호표를 초기값으로 설정하기 때문에, 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 33에 기재된 가변 길이 부호화 장치는, 파라미터표를 참조하면서 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 장치로서, 초기화 수단과, 파라미터표 정보취득 수단과, 파라미터표 정보 부호화 수단과, 파라미터 취득 수단과, 서브데이터 부호화 수단과, 정보 부호화 데이터 배치 수단을 구비하고 있다. 초기 화 수단은 파라미터표를 초기값으로 설정한다. 파라미터표 정보 부호화 수단은 초기화된 파라미터표에 대한 정보를 부호화한다. 파라미터 취득 수단은, 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 부호화 파라미터를 파라미터표로부터 취득한다. 서브데이터 부호화 수단은, 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 부호화한다. 정보 부호화 데이터 배치 수단은, 부호화된 파라미터표에 대한 정보를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력한다.
이 부호화 장치에서는, 서브데이터 부호화 수단이 서브데이터를 부호화할 때에 파라미터표로부터 취득한 부호화 파라미터를 이용하고 있기 때문에, 소정 단위 데이터를 부호화할 때의 압축 효율이 향상한다. 또한, 초기화된 파라미터표에 대한 정보는, 파라미터표 정보 부호화 수단에 의해서 부호화되고, 또한 정보 부호화 데이터 배치 수단에 의해서 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치되기 때문에, 복호화시는 그 정보에 근거하여 파라미터표를 취득하고, 그 파라미터표를 초기값으로 하여 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 34에 기재된 가변 길이 복호화 장치는, 스트림을 구성하는 각 소정 단위 데이터를, 파라미터표를 참조하여 복호화하는 가변 길이 복호화 장치로서, 파라미터표 정보 복호화 수단과, 파라미터표 초기화 수단과, 파라미터 취득 수단과, 서브데이터 복호화 수단을 구비하고 있다. 파라미터표 정보 복호화 수단은, 스트림의 파라미터표에 대한 정보를 복호화한다. 파라미터표 초기화 수단은, 파라미터 표에 대한 정보에 근거하여 파라미터표의 초기값을 설정한다. 파라미터 취득 수단은, 소정 단위 데이터를 구성하는 서브데이터의 복호화에 이용되는 부호화 파라미터를 파라미터표로부터 취득한다. 서브데이터 복호화 수단은, 스트림의 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 복호화한다.
이 복호화 장치에서는, 파라미터표에 대한 정보를 복호화하고, 그것에 근거하여 취득한 파라미터표를 초기값으로 설정하기 때문에, 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 35에 기재된 가변 길이 부호화 장치는, 가변 길이 부호표를 전환하면서 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 장치로서, 초기화 수단과, 가변 길이 부호표 정보 부호화 수단과, 가변 길이 부호표 선택 수단과, 서브데이터 부호화 수단과, 정보 부호화 데이터 배치 수단을 구비하고 있다. 초기화 수단은 가변 길이 부호표를 초기값으로 설정한다. 가변 길이 부호표 정보 부호화 수단은 초기화된 가변 길이 부호표를 나타내는 정보를 부호화한다. 가변 길이 부호표 선택 수단은, 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 가변 길이 부호표를 선택한다. 서브데이터 부호화 수단은, 서브데이터를, 선택된 가변 길이 부호표를 참조하여 부호화한다. 정보 부호화 데이터 배치 수단은, 부호화된 가변 길이 부호표를 나타내는 정보를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력한다.
이 부호화 장치에서는, 서브데이터 부호화 수단이 서브데이터를 부호화할 때에 선택한 가변 길이 부호표를 이용하고 있기 때문에, 소정 단위 데이터를 부호화 할 때의 압축 효율이 향상한다. 또한, 초기화된 가변 길이 부호표를 나타내는 정보는, 가변 길이 부호표 정보 부호화 수단에 의해서 부호화되고, 또한 정보 부호화 데이터 배치 수단에 의해서 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치되기 때문에, 복호화시는 그 정보가 나타내는 가변 길이 부호표를 취득하여, 그 가변 길이 부호표를 초기값으로 하여 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 36에 기재된 가변 길이 복호화 장치는, 스트림을 구성하는 각 소정 단위 데이터를, 가변 길이 부호표를 전환하면서 복호화하는 가변 길이 복호화 장치로서, 가변 길이 부호표 정보 복호화 수단과, 가변 길이 부호표 초기화 수단과, 가변 길이 부호표 선택 수단과, 서브데이터 복호화 수단을 구비하고 있다. 가변 길이 부호표 정보 복호화 수단은, 스트림의 가변 길이 부호표를 나타내는 정보를 복호화한다. 가변 길이 부호표 초기화 수단은, 가변 길이 부호표를 나타내는 정보에 근거하여 가변 길이 부호표의 초기값을 설정한다. 가변 길이 부호표 선택 수단은, 소정 단위 데이터를 구성하는 서브데이터의 복호화에 이용되는 가변 길이 부호표를 선택한다. 서브데이터 복호화 수단은, 스트림의 서브데이터를, 선택된 가변 길이 부호표를 참조하여 가변 길이 복호화한다.
이 복호화 장치에서는, 가변 길이 부호표를 나타내는 정보를 복호화하고, 또한 그것에 근거하여 선택한 가변 길이 부호표를 초기값으로 설정하기 때문에, 소정 단위 데이터를 정확하게 복호화할 수 있다.
청구항 37에 기재된 비트 스트림은, 파라미터표를 참조하면서 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 방법에 의해 생성된 비트 스트림이다. 이 가변 길이 부호화 방법은 청구항 1∼14 또는 21∼29 중 어느 한 항에 기재된 가변 길이 부호화 방법이다.
이 비트 스트림에서는, 소정 단위 데이터를 부호화할 때의 압축 효율이 향상하는 등, 각 가변 길이 부호화 방법에 의한 효과를 얻을 수 있다.
도 1은 본 발명의 실시예 1에서의 가변 길이 부호화 장치의 개략 구성을 나타내는 블록도,
도 2는 일반적인 화상 부호화 장치의 개략 구성을 나타내는 블록도,
도 3은 데이터 부호화부의 개략 동작을 나타내는 흐름도,
도 4는 데이터 부호화부의 개략 동작을 나타내는, 변형예의 흐름도,
도 5는 화상 데이터의 스트림 구조의 일례를 나타내는 도면,
도 6은 화상 데이터의 스트림 구조의 다른 예를 나타내는 도면,
도 7은 가변 길이 부호화 장치에 의해 생성되는 비트 스트림의 데이터 구조,
도 8은 가변 길이 부호화 장치에 의해 생성되는 비트 스트림의 데이터 구조,
도 9는 본 발명의 실시예 1에서의 가변 길이 복호화 장치의 개략 구성을 나타내는 블록도,
도 10은 일반적인 화상 복호화 장치의 개략 구성을 나타내는 블록도,
도 11은 데이터 복호화부의 개략 동작을 나타내는 흐름도,
도 12는 본 발명의 실시예 2에서의 가변 길이 부호화 장치의 개략 구성을 나타내는 블록도,
도 13은 복수의 가변 길이 부호표의 구성을 도시하는 도면,
도 14는 데이터 부호화부의 개략 동작을 나타내는 흐름도,
도 15는 가변 길이 부호화 장치에 의해 생성되는 비트 스트림의 데이터 구조,
도 16은 가변 길이 부호화 장치에 의해 생성되는 비트 스트림의 데이터 구조,
도 17은 본 발명의 실시예 2에서의 가변 길이 복호화 장치의 개략 구성을 나타내는 블록도,
도 18은 데이터 복호화부의 개략 동작을 나타내는 흐름도,
도 19는 실시예 1, 2의 가변 길이 부호화 방법 또는 가변 길이 복호화 방법을 저장한 플로피디스크를 이용하여, 컴퓨터 시스템에 의해 실시하는 경우의 설명도,
도 20은 콘텐츠 공급 시스템의 전체 구성을 나타내는 블록도,
도 21은 동화상 부호화 방법, 동화상 복호화 방법을 이용한 휴대전화의 예,
도 22는 휴대전화의 블록도,
도 23은 디지털 방송용 시스템의 예이다.

1. 실시예
(1) 가변 길이 부호화 장치의 구성
① 본 발명에 따른 가변 길이 부호화 장치
도 1은 본 발명의 일 실시예로서의 가변 길이 부호화 장치(1)의 개략 구성 블록도이다. 가변 길이 부호화 장치(1)는, 입력된 데이터를 가변 길이 부호화하여, 비트 스트림을 생성하기 위한 장치이다. 특히, 이 가변 길이 부호화 장치(1)는, 주된 부호화 방법으로서 산술 부호화를 채용하고 있는 것을 특징으로 한다. 또, 산술 부호화란, 실제로 발생한 심볼의 발생 확률에 따라 동적으로 확률표를 갱신함으로써 부호화 효율을 높이는 부호화 방법을 말한다.
가변 길이 부호화 장치(1)에 입력되는 데이터는, 여러 가지 종류가 있을 수 있지만, 이 실시예에서는 화상 데이터가 입력되는 것으로 하여 설명한다. 즉, 가변 길이 부호화 장치(1)는, 정보 변환된 화상 신호를 엔트로피 부호화하는 기능을 갖고 있다. 특히 MPEG 방식에 있어서는, 이 가변 길이 부호화 장치(1)에 입력되는 화상 데이터는 양자화된 DCT 계수나 움직임 벡터 등이다.
가변 길이 부호화 장치(1)는, 주로 데이터 부호화부(2)와, 헤더 부호화기(3)를 구비하고 있다.
데이터 부호화부(2)는, 소정 단위 데이터마다 헤더 이외의 데이터를 산술 부호화하기 위한 장치로서, 산술 부호화기(7)와, 확률표 갱신기(8)와, 초기화부(9)를 구비하고 있다. 또, 여기서 말하는 소정 단위 데이터란, 화상 데이터의 경우는 픽 처 또는 슬라이스를 의미한다. 또한, 각 소정 단위 데이터는 복수의 서브데이터로 구성되어 있고, 소정 단위 데이터가 픽처인 경우에 서브데이터는 슬라이스, 매크로 블록 또는 블록이며, 소정 단위 데이터가 슬라이스인 경우에 서브데이터는 매크로 블록 또는 블록이다.
산술 부호화기(7)는, 데이터가 입력되면, 발생 데이터를 확률표 갱신기(8)에 출력하고, 또한, 확률표 갱신기(8)로부터 출력되는 확률표 즉 부호어에 근거하여 데이터를 부호화하기 위한 장치이다.
확률표 갱신기(8)는, 확률표를 갱신하는 기능을 갖고 있고, 산술 부호화기(7)로부터 출력되어 온 발생 데이터의 발생 확률에 따라 확률표를 갱신하면서, 그 확률표 즉 부호어를 산술 부호화기(7)에 출력하기 위한 장치이다.
초기화부(9)는 확률표 갱신기(8)에 대하여 확률표의 초기화 지령을 출력하기 위한 장치이다.
헤더 부호화기(3)는 헤더 데이터를 고정적인 부호화 방법으로 부호화하기 위한 장치이다. 고정적인 부호화 방법이란, 부호화의 도중에서 각 부호에 대응하는 부호어가 변화하지 않는 방법을 말하고, 고정 길이 부호화 방법이나 고정의 가변 길이 부호표를 이용하는 가변 길이 부호화 방법을 포함한다. 고정적인 부호화 방법을 이용하고 있기 때문에, 헤더 데이터는 용이하게 부호화할 수 있다.
한편, 각 부호에 대응하는 부호어가 변화하는 부호화 방법을 적응적인 부호화 방법이라고 부른다. 또한 적응적인 부호화 방법에는, 단순히 부호와 부호에 대응하는 부호어의 관계를 나타내는 테이블을 전환하는 정적인 부호화 방법과, 부호 어 자체를 차차 갱신하는 동적 부호화가 있다. 환언하면, 정적 부호화 방법이란, 동적인 부호화 방법(동적으로 부호와 그것에 대응하는 부호어의 대응 관계를 변경하는 산술 부호화 등의 부호화 방법)에서는 없는 것을 의미한다. 따라서, 정적 부호화 방법보다도 동적 부호화 방법쪽이 압축율을 향상할 수 있다.
가변 길이 부호화 장치(1)는 확률표 부호화기(6)를 더 구비하고 있다. 확률표 부호화기(6)는, 확률표 갱신기(8)로부터 출력되어 온 확률표를 고정적인 부호화 방법으로 부호화하기 위한 장치이다. 고정적인 부호화 방법을 이용하고 있기 때문에, 확률표는 용이하게 부호화된다.
다중화기(4)는, 헤더 부호화기(3)로부터 출력되어 오는 헤더 부호화 데이터와, 산술 부호화기(7)로부터 출력되어 오는 헤더 이외의 부호화 데이터와, 확률표 부호화기(6)로부터 출력되어 오는 확률표 부호화 데이터를 다중화하여 부호열(비트 스트림)을 생성하고, 또한 그것을 전송로에 출력하기 위한 장치이다.
② 일반적인 화상 부호화 장치
여기서, 도 2의 블록도를 이용하여, 일반적인 화상 부호화 장치(100)의 구성을 나타낸다. 화상 부호화 장치(100)는, 주로, 움직임 추정/보상부(ME/MC)(102)와, 감산기(103)와, 변환 부호화부(104)와, 변환 복호화부(105)와, 가산기(106)와, 엔트로피 부호화부(107)로 구성되어 있다. 또, 상술한 데이터 부호화부(2)는 엔트로피 부호화부(107)에 대응하고 있다.
움직임 추정/보상부(102)는, 입력 화상 데이터 PicIn을 받아, 부호화 대상 픽처에서의 부호화 대상 블록에 대한 예측 블록의 데이터를 생성한다. 움직임 추 정/보상부(102)는, 움직임 검출기(ME)(111)와, 움직임 보상기(MC)(112)와, 픽처 메모리(113)로 구성되어 있다.
움직임 검출기(111)는, 입력 화상 PicIn이 입력되어, 픽처 메모리(113) 내의 재구성 화상에 대한 입력 화상 PicIn의 움직임인 움직임 벡터 MV를 산출한다. 움직임 검출기(111)는, 움직임 벡터 MV를, 움직임 보상기(112)와 픽처 메모리(113)와 엔트로피 부호화부(107)에 출력한다. 움직임 보상기(112)는, 움직임 검출기(111)로부터의 움직임 벡터 MV에 근거하여, 픽처 메모리(113)에 저장되어 있는 재구성 화상으로부터 움직임에 대응하는 화상 데이터를 참조 화상으로서 작성하여(움직임 보상), 그것을 감산기(103)와 가산기(106)에 출력한다. 픽처 메모리(113)는, 재구성 화상을 저장하고, 움직임 검출기(111)나 움직임 보상기(112)에 의해서 재구성 화상을 판독시킨다. 또, 화면 내 부호화의 경우는 움직임 보상된 참조 화상의 화소값을 0으로 하여, 감산기(103) 및 가산기(106)에서는 감산 및 가산을 하지 않고 입력된 데이터를 그대로 출력한다.
감산기(103)는, 입력 화상 PicIn의 대상 데이터와, 움직임 보상기(112)로부터의 참조 화상의 차분값을 구하고, 그 차분값인 차분 데이터를 변환 부호화부(104)에 출력한다.
변환 부호화부(104)는, 감산기(103)로부터의 차분 데이터에 데이터 압축 처리를 실시하여, 압축 데이터를 출력한다. 변환 부호화부(104)는 직교 변환기(114)와 양자화기(115)로 구성되어 있다. 직교 변환기(114)는, 감산기(103)로부터의 차분 데이터에 대하여, 직교 변환 처리의 일종인 공간 영역의 데이터를 주파수 영역 의 데이터로 변환하는 이산 코사인 변환 처리(DCT 처리)를 실시하고, 그 데이터를 양자화기(115)에 출력한다. 양자화기(115)는, 직교 변환기(114)로부터의 DCT 데이터를 소정의 양자화 단계에서 양자화하고, 양자화 계수를 변환 복호화부(105)와 엔트로피 부호화부(107)에 출력한다.
변환 복호화부(105)는, 변환 부호화부(104)로부터의 출력에 데이터 신장 처리를 실시하여 신장 데이터를 출력한다. 변환 복호화부(105)는 역양자화기(116)와 역직교 변환기(117)로 구성되어 있다. 역양자화기(116)는, 변환 부호화부(104)로부터의 출력을 상기 양자화 단계에서 역양자화하고, 그것을 역직교 변환기(117)에 출력한다. 역직교 변환기(117)는, 역양자화기(116)로부터의 출력에 대하여, 주파수 영역의 데이터를 공간 영역의 데이터로 변환하는 역이산 코사인 변환 처리(IDCT 처리)를 실시하고, 신장 데이터를 예측 잔차 신호로서 가산기(106)에 출력한다.
가산기(106)는, 당해 매크로 블록이 화면간 움직임 보상 예측 부호화되어 있는 경우는, 변환 복호화부(105)로부터의 예측 잔차 신호와 움직임 보상기(112)로부터의 참조 화상을 가산한 화상 데이터를 재구성 화상으로서 픽처 메모리(113)에 출력한다.
엔트로피 부호화부(107)는, DCT 부호화부(104)로부터의 양자화된 DCT 후의 데이터에 대하여 엔트로피 부호화를 실시한다. 엔트로피 부호화란, 0과 1의 비트열에 대하여 그 비트열의 통계적인 성질을 이용하여 보다 적은 비트열로 변환하는 부호화인 것이다.
(2) 가변 길이 부호화 장치의 동작
① 데이터 부호화부 및 확률표 부호화기의 동작
도 3은 데이터 부호화부(2) 및 확률표 부호화기(6)의 개략 동작을 나타내는 흐름도이다.
단계 S1에서는, 초기화부(9)가 확률표 갱신기(8)에 초기화 지령을 출력하고, 확률표 갱신기(8)는 소정의 확률표를 소정 단위 데이터마다 초기값으로 설정한다. 이 초기화 동작에 있어서, 초기화부(9) 및 확률표 갱신기(8)는, 헤더 내의 초기화 정보에 근거하여 확률표의 초기화를 한다. 확률표의 초기화 정보로서는, 소정 단위 데이터 전체의 공통 데이터가 이용되는 일이 있다. 초기화에 유효한 공통 데이터의 예로서는, 예컨대, 소정 단위 데이터가 픽처인 경우는, 픽처 부호화 타입(화면 내 부호화 픽처와, 화면간 예측 부호화 픽처, 쌍 화면간 예측 부호화 픽처의 구별), 픽처의 양자화 파라미터의 초기값 등이 있다. 또, 초기화에는 그다지 관계가 없는 공통 데이터로서는, 픽처의 부호화 순서, 픽처의 표시 순서, 움직임 벡터나 화상 사이즈 등의 파라미터가 있다. 소정 단위 데이터가 슬라이스인 경우는, 슬라이스 부호화 타입(화면 내 부호화 슬라이스와, 화면간 예측 부호화 슬라이스, 쌍 화면간 예측 부호화 슬라이스의 구별), 슬라이스의 양자화 파라미터의 초기값 등이 있다.
단계 S2에서는, 산술 부호화기(7)와 확률표 갱신기(8)가 협동하여, 서브데이터를 산술 부호화한다. 보다 구체적으로는, 산술 부호화기(7)는 확률표 갱신기(8)로부터 출력한 확률표에 근거하여, 서브데이터의 부호화에 이용되는 확률을 확률표 로부터 취득하고, 또한, 그 확률을 참조하여 데이터를 부호화한다. 구체적으로는 소정 단위 데이터는 픽처 또는 슬라이스이며, 서브데이터인 매크로 블록 또는 블록이 부호화된다.
단계 S3에서는, 발생 데이터에 의해, 확률표 갱신기(8)에서 발생 데이터의 확률표를 갱신한다. 이 실시예에서는, 이 갱신된 확률표가 다음 서브데이터를 산술 부호화할 때에 이용되는 것으로 된다.
단계 S4에서는, 모든 서브데이터의 부호화가 종료했는지 여부를 판단한다. 모두 종료하지 않고 있다고 판단하면 단계 S2에 되돌아가, 상술한 동작을 반복한다.
단계 S5에서는, 확률표를 부호화할지 여부를 판정하여, 부호화하는 경우는 단계 S6에 진행하고, 부호화하지 않는 경우는 단계 S6을 스킵한다. 산술 부호화기(7)는, 그 판정 결과를 식별하기 위한 초기값 플래그를 작성하고, 그것을 부호화 데이터와 함께 다중화기(4)에 출력한다. 또, 초기값으로서 쓰인 확률표가 부호화되지 않는 것은, 예컨대, 다음에 확률표가 초기화되기까지의 데이터수가 충분히 많은(즉 충분히 학습하는 데 필요한 데이터수가 전체의 데이터수에서 점유하는 비율이 작고, 그 때문에 학습 효율이 좋은) 경우나, 또는, 초기값으로서 쓰인 확률표가 학습에 의해서 얻어지는 최적의 확률표와 거의 일치하는 경우, 또는 완전히 일치하는 경우 등이다.
단계 S6에서는, 확률표 갱신기(8)의 확률표를 확률표 부호화기(6)에 의해 부호화한다.
이상에서 설명한 부호화 방법에서는, 최초의 서브데이터의 부호화를 제외하고, 부호화한 서브데이터의 값에 근거하여 확률표가 갱신되고, 확률을 확률표로부터 취득하고 있기 때문에, 압축 효율이 향상한다. 특히, 서브데이터의 부호화에 이용되는 확률표는, 직전의 서브데이터의 산술 부호화에 의해 갱신된 확률표이기 때문에, 실시간으로 부호화를 할 수 있어, 부호화가 고속화한다. 또한 화상의 공간적 또는 시간적 상관에 의해 충분한 압축 효율을 얻을 수 있다.
또, 소정 단위 데이터의 초기값을 자기의 산술 부호화에 의해 얻어진 확률표를 이용하여 산술 부호화해도 좋다. 그 경우는, 당해 소정 단위 데이터와 직전의 소정 단위 데이터의 내용이 크게 다른 경우에도, 압축 효율이 높다.
도 4에 나타내는 흐름도는 도 3에 나타내는 흐름도의 변형예이며, 단계 S6에서 확률표 갱신기(8)의 부호표를 확률표 부호화기(6)에 의해 부호화할 때에, 확률표의 일부만을 부호화하는 경우를 나타내고 있다. 이 경우는, 부호량을 삭감할 수 있고, 또한 취득된 확률표 중 발생 확률이 높은 부호화된 데이터에 대응하는 부분만을 부호화하는 방법을 채용하는 것으로, 복호화시에 충분히 정확하게 복호화할 수 있다. 발생 확률이 낮은 데이터에 대응하는 부분은, 소정의 초기값으로 초기화한다. 단계 S7에서는, 확률표로 부호화되어 있지 않았던 부분을 소정의 초기값으로 초기화한다. 즉, 확률표가 중요한 부분만을 부호화한 경우는, 부호화하지 않는 부분을 소정의 초기값으로 초기화하는 것으로, 확률표의 부호화가 지시된 경우에 확률표의 모든 확률을 그때까지의 확률표의 값에 따르지 않고 특정한 값으로 할 수 있어, 부호화 장치와 복호화 장치로 확률표를 일치시킬 수 있다.
② 헤더 부호화기의 동작
헤더 부호화기(3)는 입력된 헤더 데이터를 부호화하고, 헤더 부호화 데이터를 다중화기(4)에 출력한다.
③ 다중화기의 동작
다중화기(4)는, 산술 부호화기(7), 헤더 부호화기(3), 확률표 부호화기(6)로부터 출력되어 오는 데이터로부터 소정의 비트 스트림을 생성하고, 그것을 전송로에 출력한다.
도 5는 화상 데이터의 스트림 구조의 일례를 도시하는 도면이다. 도 5에 도시하는 바와 같이, 스트림은 헤더 등의 공통 정보 영역과 GOP(Group 0f Picture) 영역에서 구성되어 있다. GOP 영역은 헤더 등의 공통 정보 영역과 복수의 픽처(picture) 영역에서 구성되어 있다. 픽처 영역은 헤더 등의 공통 정보 영역과 복수의 슬라이스(slice) 데이터 영역에서 구성된다. 슬라이스 데이터 영역은 헤더 등의 공통 정보 영역과 복수의 매크로 블록(macro block) 데이터 영역에서 구성된다.
또한, 스트림이 연속한 비트 스트림이 아니고, 짧게 자른 데이터의 단위인 패킷 등으로 전송하는 경우는 헤더부와 헤더 이외의 데이터부를 분리하여 별도로 전송해도 좋다. 그 경우는, 도 5와 같이 헤더부와 데이터부가 하나의 비트 스트림으로 되는 것은 없다. 그러나, 패킷의 경우는, 헤더부와 데이터부의 전송하는 순서가 연속하지 않더라도, 대응하는 데이터부에 대응하는 헤더부가 별도의 패킷으로 전송될 뿐이며, 하나의 비트 스트림으로 되어 있지 않더라도, 개념은 도 5에서 설 명한 비트 스트림의 경우와 동일하다.
도 6은 화상 데이터의 스트림 구조의 다른 예를 나타내는 도면이다. 이 스트림 구조는 도 5에 나타낸 스트림 구조와는 기본적인 구조는 동일하다. 그래서, 이하, 다른 점만을 설명한다. 이 스트림 구조는 GOP와 픽처는 각각 헤더를 갖지 않고, 슬라이스만이 헤더를 갖고 있다. GOP와 픽처는 공통 정보로서의 각종 파라미터(parameter)를 선두에 갖고 있다. 파라미터는 헤더에 상당하는 것이지만, 파라미터가 갱신되지 않는 한은 그 파라미터가 후속의 픽처라도 유효한 점이 다르다. 예컨대, 픽처·헤더에 상당하는 파라미터는, 다음에 픽처·헤더에 상당하는 파라미터가 전송되기까지의 픽처의 모든 픽처·헤더라는 의미를 갖고 있다.
도 7은 상술한 소정 단위 데이터가 화상 데이터의 픽처인 경우에 다중화기(4)로부터 출력되는 비트 스트림의 데이터 구조를 나타낸다. 픽처는, 일반적으로, 헤더와, 부호화 서브데이터로서의 복수의 슬라이스로 구성되어 있다. 헤더는 1 픽처 내의 부호화 데이터의 개시를 나타내는 것이며, 각 슬라이스에 공통의 데이터(예컨대, 픽처 부호화 타입(화면 내 부호화 픽처와, 화면간 예측 부호화 픽처의 구별), 픽처의 부호화 순서 또는 표시 순서를 나타내는 번호 등의 파라미터)로 주로 구성되어 있다.
헤더 내에는 초기값 플래그가 배치되어 있다. 초기값 플래그는 초기값으로서 이용된 확률표가 부호화됐는지 여부를 식별하기 위한 플래그이며, 확률표가 부호화된 경우는 "1"로 되고, 부호화되어 있지 않은 경우는 "0"으로 된다.
또한, 헤더 내에는, 도 7(a)에 도시하는 바와 같이, 확률표 초기값으로서의 확률표 부호화 데이터가 배치되어 있다. 확률표가 부호화되지 않은 경우는, 확률표 부호화 데이터는 확률표 부호화기(6)로부터 다중화기(4)에는 출력되지 않고, 그 결과도 7(b)에 도시하는 바와 같이, 비트 스트림에는 확률표 부호화 데이터는 배치되어 있지 않다.
이상에서 설명했듯이, 헤더 내에는, 본래의 헤더를 의미하여 헤더 부호화기(3)에 의해서 부호화되는 공통 데이터 부분과, 산술 부호화기(7)에 의해 생성된 초기값 플래그와, 확률표 부호화기(6)에 의해 부호화된 확률표 부호화 데이터가 존재한다. 더 상세하게는, 공통 데이터 부분은 선두측과 화상 데이터측으로 분리되고, 그 사이에 초기값 플래그와 확률표 부호화 데이터가 그 순서로 삽입되어 있다.
도 8은, 소정 단위 데이터가 화상 데이터의 슬라이스인 경우에 다중화기(4)로부터 출력되는 비트 스트림의 데이터 구조를 나타낸다. 슬라이스는, 일반적으로, 헤더와, 부호화 서브데이터로서의 복수의 블록(또는 매크로 블록)으로 구성되어 있다. 헤더는 1 슬라이스 내의 부호화 데이터의 개시를 나타내는 것이고, 각 슬라이스에 공통의 데이터(개시 부호, 양자화 스케일 등의 파라미터)로 주로 구성되어 있다. 또한, 헤더 내에는 초기값 플래그가 배치되어 있다. 초기값 플래그는, 초기값으로서 이용된 확률표가 부호화됐는지 여부를 식별하기 위한 플래그이며, 확률표가 부호화된 경우는 "1"로 되고, 부호화되어 있지 않은 경우는 "0"으로 된다.
또한, 헤더 내에는, 도 8(a)에 도시하는 바와 같이, 확률표 초기값으로서의 확률표 부호화 데이터가 배치되어 있다. 확률표가 부호화되지 않은 경우는 확률표 부호화기(6)로부터 확률표 부호화 데이터는 다중화기(4)에는 출력되지 않고, 그 결과 도 8(b)에 도시하는 바와 같이, 비트 스트림에는 확률표 부호화 데이터는 배치되어 있지 않다.
이상에서 설명했듯이, 헤더 내에는, 본래의 헤더를 의미하여 헤더 부호화기(3)에 의해서 부호화된 공통 데이터 부분과, 산술 부호화기(7)에 의해 생성된 초기값 플래그와, 확률표 부호화기(6)에 의해 부호화된 확률표 부호화 데이터가 존재한다. 더 상세하게는, 공통 데이터 부분은 선두측과 화상 데이터측으로 분리되고, 그 사이에 초기값 플래그와 확률표 부호화 데이터가 그 순서로 삽입되어 있다.
또, 상기 실시예에서는, 확률표에 대한 정보로서, 확률표 자체를 부호화하여 헤더 내에 매립하고 있었지만, 대신에, 취득된 확률표를 나타내는 정보(예컨대, 계산식, 확률표를 나타내는 플래그, 이것들의 조합을 나타내는 정보)를 부호화하여 헤더 내에 매립해도 좋다. 그 경우는, 확률표 그 자체를 부호화하는 것은 아니기 때문에 부호화량을 삭감할 수 있다.
또한, 취득된 확률표를 나타내는 정보로서는, 예컨대, 헤더 내의 공통 데이터의 일부를 이용할 수 있다. 그 경우는, 그 정보는 소정 단위 데이터에 대한 공통 데이터의 일부로서의 기능도 갖고 있기 때문에, 부호화량을 더 삭감할 수 있다. 공통 데이터의 예로서는, 예컨대, 소정 단위 데이터가 픽처인 경우는, 픽처 부호화 타입(화면 내 부호화 픽처와, 화면간 예측 부호화 픽처, 쌍 화면간 예측 부호화 픽 처의 구별), 픽처의 양자화 파라미터의 초기값 등이 있다. 또, 초기화에는 그다지 관계가 없는 공통 데이터로서는, 픽처의 부호화 순서, 픽처의 표시 순서, 움직임 벡터나 화상 사이즈 등의 파라미터가 있다. 소정 단위 데이터가 슬라이스인 경우는, 슬라이스 부호화 타입(화면 내 부호화 슬라이스와, 화면간 예측 부호화 슬라이스, 쌍 화면간 예측 부호화 슬라이스의 구별), 슬라이스의 양자화 파라미터의 초기값 등이 있다. 또한, 초기값을 반드시 갱신하도록 하고, 즉, 반드시 초기값을 보내도록 하여 초기값 플래그를 생략해도 좋다.
(3) 가변 길이 복호화 장치의 구성
① 본 발명에 따른 가변 길이 복호화 장치
도 9는 본 발명의 일 실시예에서의 가변 길이 복호화 장치(11)의 개략 구성 블록도이다. 가변 길이 복호화 장치(11)는, 예컨대, 가변 길이 부호화 장치(1)에 의해서 부호화된 데이터를 복호화하기 위한 장치이다. 화상 데이터를 대상으로 하고 있는 경우는, 가변 길이 복호화 장치(11)는 데이터를 엔트로피 복호화하여, 변환 화상 정보를 얻는 기능을 갖고 있다.
가변 길이 복호화 장치(11)는, 주로 데이터 복호화부(12)와, 헤더 복호화기(13)를 구비하고 있다.
데이터 복호화부(12)는, 헤더 이외의 데이터를 소정 단위 데이터마다 산술 복호화하기 위한 장치이며, 산술 복호화기(17)와, 확률표 갱신기(18)와, 초기화부(19)를 구비하고 있다. 또, 여기서 말하는 소정 단위 데이터란, 화상 데 이터의 경우는 픽처 또는 슬라이스를 의미한다.
산술 복호화기(17)는, 부호화 데이터가 입력되면, 발생 데이터를 확률표 갱신기(18)에 출력하고, 또한, 데이터를 확률표 갱신기(18)로부터 출력되는 확률표 즉 부호어에 근거하여 부호화 데이터를 복호화하기 위한 장치이다.
확률표 갱신기(18)는 확률표를 갱신하는 기능을 갖고 있고, 산술 복호화기(17)로부터 출력된 발생 데이터의 발생 확률에 따라 확률표를 갱신하면서, 그 확률표 즉 부호어를 산술 복호화기(17)에 출력하기 위한 장치이다.
초기화부(19)는 확률표의 초기화 지령을 확률표 갱신기(18)에 대하여 출력하기 위한 장치이다.
헤더 복호화기(13)는 헤더 부호화 데이터를 고정적인 복호화 방법으로 복호화하기 위한 장치이다.
가변 길이 복호화 장치(11)는 확률표 복호화기(16)를 더 구비하고 있다. 확률표 복호화기(16)는 확률표 부호화 데이터를 고정적인 복호화 방법으로 복호화하기 위한 장치이다.
분리화기(14)는 비트 스트림을 헤더 부호화 데이터와, 헤더 이외의 부호화 데이터와, 확률표 부호화 데이터로 분리하여 출력하기 위한 장치이다.
② 일반적인 화상 복호화 장치
여기서, 도 10의 블록도를 이용하여, 일반적인 화상 복호화 장치(200)의 내부 구성을 설명한다. 화상 복호화 장치(200)는, 주로, 예측 데이터 생성부(202)와, 변환 복호화부(204)와, 가산기(206)와, 엔트로피 복호화부(207)로 구성되어 있 다. 또, 상술한 데이터 복호화부(12)는 엔트로피 복호화부(207)에 대응하고 있다.
엔트로피 복호화부(207)는, 확률표에 근거하여, 입력된 스트림의 데이터에 대하여 엔트로피 복호화를 실시하고, 그 데이터를 변환 복호화부(204) 및 예측 데이터 생성부(202)에 출력한다. 엔트로피 복호화란, 엔트로피 부호화의 역 방향의 처리이며, 이 실시예에서는 산술 복호화이다.
예측 데이터 생성부(202)는 움직임 보상기(212)와, 픽처 메모리(213)를 갖고 있다. 픽처 메모리(213)에는, 가산기(206)로부터 출력 화상이 참조 화상으로서 출력되고, 저장되어 있다. 움직임 보상기(212)는, 엔트로피 복호화부(207)에서 복호화된 움직임 벡터 MV에 근거하여, 픽처 메모리(213)에 저장되어 있는 참조 화상으로부터 움직임 벡터 MV에 대응하는 화상 데이터를 예측 화상으로서 작성하여(움직임 보상), 그것을 가산기(206)에 출력한다. 또, 화면 내 부호화의 경우는 움직임 보상된 참조 화상의 화소값을 0으로 하여, 가산기(206)에서는 가산을 하지 않고 입력된 데이터를 그대로 출력한다. 또한, 복호화된 움직임 벡터는 픽처 메모리(213)에 저장된다.
변환 복호화부(204)는, 엔트로피 복호화부(207)로부터의 출력에 데이터 신장 처리를 실시하여, 신장 데이터를 출력한다. 변환 복호화부(204)는 역양자화기(214)와 역직교 변환기(215)로 구성되어 있다. 역양자화기(214)는 엔트로피 복호화부(207)로부터의 출력을 역양자화하고, 그것을 역직교 변환기(215)에 출력한다. 역직교 변환기(215)는, 역양자화기(214)로부터의 출력에 대하여, 주파수 영역의 데이터를 공간 영역의 데이터로 변환하는 역이산 코사인 변환 처리(IDCT 처리)를 실시하고, 신장 데이터를 가산기(206)에 출력한다.
가산기(206)는, 변환 복호화부(204)로부터의 화상 데이터와 움직임 보상기(212)로부터의 예측 화상을 가산한 화상 데이터를 출력 화상으로서 외부에 출력하고, 또한 픽처 메모리(213)에도 출력한다.
(4) 가변 길이 부호화 장치의 동작
① 분리화기의 동작
분리화기(14)는 비트 스트림을 분리하고, 헤더 부호화 데이터를 헤더 복호화기(13)에 출력하며, 헤더 이외의 부호화 데이터를 산술 복호화기(17)에 출력하고, 확률표 부호화 데이터가 있는 경우는 그것을 확률표 복호화기(16)에 출력한다. 또, 헤더 복호화기(13)는 복호화된 헤더 내의 초기값 플래그를 초기화부(19)에 출력한다.
② 헤더 복호화기의 동작
헤더 복호화기(13)는 분리화기(14)로부터 출력된 헤더 부호화 데이터를 복호화하여, 헤더 데이터를 출력한다.
③ 데이터 복호화부 및 확률표 부호화기의 동작
도 11은 데이터 복호화부(12) 및 확률표 복호화기(16)의 개략 동작을 나타내는 흐름도이다.
단계 S21에서는, 초기화부(19)가 확률표 갱신기(18)를 초기화하여, 소정의 확률표가 초기값으로 설정된다.
단계 S22에서는, 초기화부(19)가, 헤더 내에 매립되어 있었던 초기값 플래그에 의해서, 확률표가 부호화되어 있는지 여부를 판정한다. 확률표가 부호화되어 있다고 판정하면 단계 S23에 이행하고, 확률표가 부호화되어 있지 않다고 판정하는 단계 S23을 스킵하여 단계 S24에 이행한다.
단계 S23에서는, 확률표 갱신기(18)가, 확률표 복호화기(16)로부터 출력되어 온 확률표로, 확률표를 갱신한다. 확률표 복호화기(16)에 입력되는 확률표 부호화 데이터는, 확률표의 전체인 경우도 있으며 확률표의 일부만인 경우도 있다. 확률표의 일부만이 부호화되어 있는 경우에도, 취득된 확률표 중 발생 확률이 높은 부호화된 데이터에 대응하는 부분이 부호화되어 있으면, 후술하는 복호화 작업에 있어서 정확하게 복호화할 수 있다. 또, 부호표의 일부만이 부호화되어 있던 경우에는, 부호화되어 있지 않은 확률표는 단계 S21과 같은 값으로 초기화한다.
또, 확률표 그 자체가 아니라 확률표를 나타내는 정보를 부호화하고 있는 경우는, 최초에 그 정보를 복호화하고, 다음에 확률표 갱신기(18)가 그 정보가 나타내는 확률표를 선택한다.
단계 S24에서는, 산술 복호화기(17)와 확률표 갱신기(18)가 협동하여, 서브데이터를 산술 복호화한다. 구체적으로는, 산술 복호화기(17)는, 확률표 갱신기(18)로부터의 확률표에 근거하여 부호화 서브데이터를 복호화하고, 데이터를 출력한다. 소정 단위 데이터가 예컨대, 픽처인 경우는, 슬라이스가 복호화된다. 단계 S26에서는, 산술 복호화기(17)의 발생 데이터를 확률표 갱신기(18)에 출력하고, 확률표 갱신기(18)는 발생 데이터에 의해 확률표를 재기록한다. 이 갱신된 확 률표는 다음 서브데이터를 단계 S24에서 복호화할 때에 이용된다.
단계 S25에서는, 모든 서브데이터의 복호화가 종료했는지 여부를 판단한다. 모두 종료하지 않고 있다고 판단하면 단계 S24에 되돌아가, 상술한 동작을 반복한다.
(5) 상기 부호화 방법 및 복호화 방법의 효과
① 상술한 부호화 및 복호화 방법에서는, 각 서브데이터는 산술 부호화에 의해 취득된 확률표에 근거하여 부호화되어 있기 때문에, 압축 효율이 향상하고 있다. 환언하면, 이 부호화 및 복호화 방법에서는, 전체의 데이터수가 작고, 그 때문에 종래이면 학습에 의해서 최적의 부호화를 얻을 수 있기까지의 부호화된 데이터수의 비율을 무시할 수 없는 데이터이더라도, 높은 학습 효율에 의해서 압축 효율을 높일 수 있다.
또한, 초기화된 확률표는 부호화되고, 부호화된 소정 단위 데이터의 헤더 내에 배치되어 있기 때문에, 복호화시는 그 확률표를 초기값으로 하여, 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
② 상술한 부호화 및 복호화 방법에서는, 픽처 또는 슬라이스 단위로 확률표를 부호화하고 있기 때문에, 확률표를 부호화하는 빈도가 적절하다. 제 1에, 전송로 오류에 의해 학습해야 할 부호화 데이터의 일부가 결핍하여, 부호화시와 같은 확률표가 복호화시에 재현할 수 없게 된 경우에도, 고 빈도로 부호화된 확률표를 복호화함으로써 수초 이상 화상이 재생 불가능해지는 상태가 발생하는 경우가 없 다. 이것이 스트림이나 GOP 단위인 경우는, 확률표의 부호화의 빈도가 낮고, 학습해야 할 부호화 데이터의 일부가 전송로에 의해 결핍하여 확률표를 재현할 수 없는 경우에는 수초 이상 화상이 재생 불가능해지는 상태가 발생해 버린다. 제 2에, 확률표의 데이터량의 용장이 커지는 경우도 없다. 이것이 블록(또는 매크로 블록) 단위인 경우는, 초기화의 데이터의 용장이 지나치게 커진다.
③ 상술한 부호화 및 복호화 방법에서는, 화상 데이터의 본체는 산술 부호화에 의해서 압축 효율이 높아지고 있다. 그 한편, 공통 데이터인 헤더는 고정적인 부호화 방법으로 간단하고 또한 정적으로 부호화되어 있다. 보다 상세하게는, 헤더 중, 본래 헤더인 부분은 고정적인 부호화 방법으로 부호화되고, 삽입된 확률표 초기값도 고정적인 부호화 방법으로 부호화되어 있다. 원래 헤더는 화상 데이터의 본체에 비교해서 압축 효과가 낮기 때문에, 고정적인 부호화 방법을 사용해도 전체의 압축 효율의 점에서는 특별히 큰 문제로는 되지 않는다.
2. 실시예 2
(1) 가변 길이 부호화 장치의 구성
도 12는 본 발명의 일 실시예에서의 가변 길이 부호화 장치(21)의 개략 구성 블록도이다. 가변 길이 부호화 장치(21)는, 입력된 데이터를 가변 길이 부호화하여, 비트 스트림을 생성하기 위한 장치이다. 특히, 이 가변 길이 부호화 장치(21)는, 주된 부호화 방법으로서 복수의 가변 길이 부호표를 전환하는 것을 특징으로 한다. 가변 길이 부호화의 대표예로서는, 허프만 부호화가 있다. 이하, 설명에서 는 허프만 부호화를 예로서 설명한다.
가변 길이 부호화 장치(21)에 입력되는 데이터는, 여러 가지 종류가 있을 수 있지만, 이 실시예에서는 화상 데이터가 입력되는 것으로 하여 설명한다. 즉, 가변 길이 부호화 장치(21)는, 정보 변환된 화상 신호를 엔트로피 부호화하는 기능을 갖고 있다. 특히 MPEG 방식에 있어서는, 이 가변 길이 부호화 장치(21)에 입력되는 화상 데이터는 양자화된 DCT 계수나 움직임 벡터 등이다.
가변 길이 부호화 장치(21)는, 주로, 데이터 부호화부(22)와, 헤더 부호화기(23)를 구비하고 있다.
데이터 부호화부(22)는 헤더 이외의 데이터를 소정 단위 데이터마다 허프만 부호화하기 위한 장치이며, 가변 길이 부호화기(27)와, 부호표 선택부(28)와, 초기화부(29)를 구비하고 있다. 또, 각 소정 단위 데이터는 복수의 서브데이터로 구성되어 있고, 소정 단위 데이터가 픽처인 경우에 서브데이터는 슬라이스, 매크로 블록 또는 블록이며, 소정 단위 데이터가 슬라이스인 경우에 서브데이터는 매크로 블록 또는 블록이다. 또한, 데이터 부호화부(22)는, 상술한 도 2에서 나타낸 일반적인 화상 부호화 장치(100)에서는, 엔트로피 부호화부(107)에 대응하고 있다.
가변 길이 부호화기(27)는, 데이터가 입력되면, 발생 데이터를 부호표 선택부(28)에 출력하고, 또한, 부호표 선택부(28)에 의해서 전환된 가변 길이 부호표(30) 즉 부호어에 근거하여 데이터를 부호화하기 위한 장치이다.
부호표 선택부(28)는, 가변 길이 부호화기(27)로부터 출력된 발생 데이터의 발생 확률에 따라서, 스위치(25)에 대하여 부호표 선택 신호를 출력하기 위한 장치 이다.
스위치(25)는, 부호표 선택부(28)로부터 출력되는 부호표 선택 신호에 따라서, 가변 길이 부호화기(27)가 부호화시에 사용하는 가변 길이 부호표(30)를 전환하기 위한 장치이다.
초기화부(29)는, 부호표 선택부(28)에 대하여 부호표 선택 신호의 초기화 지령을 출력하기 위한 장치이다.
도 13에 가변 길이 부호표(30)의 구체예를 나타낸다. 각 가변 길이 부호표(30a∼30c)는, 데이터와 그것에 대응하는 비트열의 조합으로 구성되어 있다. 이들 가변 길이 부호표(30a∼30c)는, 백지 부분(부호표(30a)에서는 데이터 1 이후, 부호표(30b)에서는 데이터 2 이후, 부호표(30c)에서는 데이터 4 이후)에, 공통의 비트열이 채용되어 있다. 또한, 음영 부분(부호표(30a)에서는 데이터 0, 부호표(30b)에서는 데이터 0, 1, 부호표(30c)에서는 데이터 0∼3)에는 서로 다른 비트열이 채용되어 있다. 음영 부분의 데이터는 발생 확률이 비교적 높은 것이며, 발생 확률이 높은 데이터를 1 비트로 처리할 수 있으면 부호표(30a)가 선택되고, 발생 확률이 높은 데이터를 2 비트로 처리할 수 있으면 부호표(30b)가 선택되며, 발생 확률이 높은 부호를 3 비트로 처리할 수 있으면 부호표(30c)가 선택된다. 그것에 대하여, 백지 부분의 부호는 발생 확률이 비교적 낮은 것이다. 이와 같이, 발생 확률의 비교적 낮은 데이터에 대하여 공통의 비트열을 배치하는 것으로, 다른 가변 길이 부호표를 적은 데이터량으로 준비할 수 있어 메모리를 삭감할 수 있고, 또한 부호화 작업도 간단히 된다.
헤더 부호화기(23)는, 헤더 데이터를 고정적인 부호화 방법으로 부호화하기 위한 장치이다.
가변 길이 부호화 장치(21)는 선택 신호 부호화기(26)를 더 구비하고 있다. 선택 신호 부호화기(26)는, 부호표 선택부(28)로부터 출력되어 온 부호표 선택 신호를 고정적인 부호화 방법으로 부호화하기 위한 장치이다.
다중화기(24)는, 헤더 부호화기(23)로부터 출력되어 오는 헤더 부호화 데이터와, 가변 길이 부호화기(27)로부터 출력되어 오는 헤더 이외의 부호화 데이터와, 선택 신호 부호화기(26)로부터 출력되어 오는 선택 신호 부호화 데이터를 다중화하여, 부호열(비트 스트림)을 생성하고, 또한 그것을 전송로에 출력하기 위한 장치이다.
(2) 가변 길이 부호화 장치의 동작
① 데이터 부호화부 및 선택 신호 부호화기의 동작
도 14는 데이터 부호화부(22) 및 선택 신호 부호화기(26)의 개략 동작을 나타내는 흐름도이다.
단계 S31에서는, 초기화부(29)가 부호표 선택부(28)에 초기화 지령을 출력하고, 부호표 선택부(28)가 소정의 선택표 부호 신호를 스위치(25)에 출력한다. 이 결과, 스위치(25)는 소정의 가변 길이 부호표(30)를 소정 단위 데이터 부호화의 초기값으로서 선택한다. 이 초기화 동작에 있어서, 초기화부(29) 및 부호표 선택부(28)는, 헤더 내의 초기화 정보에 근거하여 소정의 가변 길이 부호표(30)를 선택한다. 또, 도 12에서, 헤더 데이터가 초기화부(29) 및 부호표 선택부(28)에 보내어지는 선은 거의 생략되어 있다.
단계 S32에서는, 가변 길이 부호화기(27)와 부호표 선택부(28)가 협동하여, 서브데이터를 허프만 부호화한다. 보다 구체적으로는, 부호표 선택부(28)는 지금까지의 발생 데이터에 의해 부호표 선택 신호를 스위치(25)에 출력한다. 스위치(25)는, 부호표 선택 신호에 근거하여 가변 길이 부호표(30)를 전환하고, 가변 길이 부호화기(27)는 선택된 가변 길이 부호표(30)의 부호어에 의해서 서브데이터를 부호화한다. 또한, 각 소정 단위 데이터는 복수의 서브데이터로 구성되어 있고, 구체적으로는 소정 단위 데이터가 픽처인 경우는 슬라이스, 매크로 블록 또는 블록이 부호화되고, 소정 단위 데이터가 슬라이스인 경우는 매크로 블록 또는 블록이 부호화된다.
단계 S33에서는, 서브데이터를 부호표 선택부(28)에 출력하고, 부호표 선택부(28)는 서브데이터의 발생 빈도를 갱신하여 다음에 스위치(25)를 전환할 때에, 어떤 부호표를 선택할 것인가의 지표로 한다. 이 실시예에서는, 이 부호표가 다음 서브데이터를 가변 길이 부호화할 때에 이용되는 것으로 된다.
단계 S34에서는, 모든 서브데이터의 부호화가 종료했는지 여부를 판단한다. 모두 종료하지 않고 있다고 판단하면 단계 S32에 되돌아가, 상술한 동작을 반복한다.
단계 S35에서는, 초기값으로서 이용한 가변 길이 부호표(30)를 나타내는 정보(즉 부호표 선택 신호)를 부호화할지 여부가 판정된다. 부호화하는 경우는 단계 S36에 진행하고, 부호화하지 않는 경우는 단계 S36을 스킵한다. 또, 초기값으로서 쓰인 가변 길이 부호표가 부호화되지 않는 것은, 예컨대, 다음에 가변 길이 부호표가 초기화되기까지의 데이터수가 충분히 많은(즉 충분히 학습하는 데 필요한 데이터수가 전체의 데이터수에서 점유하는 비율이 작고, 그 때문에 학습 효율이 좋은) 경우나, 또는, 초기값으로서 쓰인 가변 길이 부호표가 학습에 의해서 선택되는 최적의 부호표와 일치하는 경우 등이다. 가변 길이 부호화기(27)는, 그 판정 결과를 식별하기 위한 초기값 플래그를 작성하고, 그것을 부호화 데이터와 함께 다중화기(24)에 출력한다.
단계 S36에서는, 부호표 선택부(28)가 당해 가변 길이 부호표를 나타내는 부호표 선택 신호를 선택 신호 부호화기(26)에 출력한다.
이상에서 설명한 부호화 방법에서는, 최초의 서브데이터의 부호화를 제외하고, 부호화한 서브데이터의 값에 근거하여 가변 길이 부호표가 선택되어 있기 때문에, 서브데이터의 압축 효율이 향상한다. 특히, 서브데이터의 부호화에 이용되는 가변 길이 부호표는, 직전의 서브데이터의 허프만 부호화에 의해 선택된 가변 길이 부호표이기 때문에, 실시간으로 부호화를 할 수 있어, 부호화가 고속화되고, 또한 화상의 공간적 또는 시간적 상관에 의해 충분한 압축 효율을 얻을 수 있다.
② 헤더 부호화기의 동작
헤더 부호화기(23)는 입력된 헤더 데이터를 부호화하고, 그것을 다중화기(24)에 출력한다.
③ 다중화기의 동작
다중화기(24)는, 가변 길이 부호화기(27), 헤더 부호화기(23) 및 선택 신호 부호화기(26)로부터 출력되어 오는 데이터로부터 소정의 비트 스트림을 생성하여, 전송로에 출력한다.
도 15는, 상술한 소정 단위 데이터가 화상 데이터의 픽처인 경우에 다중화기(24)로부터 출력되는 비트 스트림의 데이터 구조를 나타낸다. 픽처는, 일반적으로, 헤더와, 부호화 서브데이터로서의 복수의 슬라이스로 구성되어 있다. 헤더는, 1 픽처 내의 부호화 데이터의 개시를 나타내는 것이고, 각 슬라이스에 공통의 데이터(예컨대, 픽처 부호화 타입(화면 내 부호화 픽처와, 화면간 예측 부호화 픽처, 쌍 화면간 예측 부호화 픽처의 구별), 픽처의 양자화 파라미터의 초기값 등)가 있다. 또, 초기화에는 그다지 관계가 없는 공통 데이터로서는, 픽처의 부호화 순서, 픽처의 표시 순서, 움직임 벡터나 화상 사이즈 등의 파라미터가 있다.
헤더 내에는 초기값 플래그가 배치되어 있다. 초기값 플래그는, 가변 길이 부호표를 나타내는 정보가 부호화됐는지 여부를 식별하기 위한 플래그이며, 가변 길이 부호표를 나타내는 정보가 부호화된 경우는 "1"로 되고, 부호화되어 있지 않은 경우는 "0"으로 된다.
또한, 헤더 내에는, 도 15(a)에 도시하는 바와 같이, 사용하는 가변 길이 부호표를 나타내는 선택 신호 부호화 데이터(예컨대, 계산식, 확률표를 나타내는 플래그, 이것들의 조합을 나타내는 정보)가 배치되어 있다. 또, 가변 길이 부호표를 나타내는 정보가 부호화되지 않은 경우는, 선택 신호 부호화 데이터는 선택 신호 부호화기(26)로부터 다중화기(24)에는 출력되지 않고, 그 결과도 15(b)에 도시하는 바와 같이, 비트 스트림에는 선택 신호 부호화 데이터는 배치되어 있지 않다.
이상에서 설명했듯이, 헤더 내에는, 본래의 헤더를 의미하여 헤더 부호화기(23)에 의해서 부호화된 공통 데이터 부분과, 가변 길이 부호화기(27)에 의해 생성된 초기값 플래그와, 선택 신호 부호화기(26)에 의해 부호화된 선택 신호 부호화 데이터가 존재한다. 더 상세하게는, 공통 데이터 부분은 선두측과 화상 데이터측으로 분리되고, 그 사이에 초기값 플래그와 선택 신호 부호화 데이터가 그 순서로 삽입되어 있다.
도 16은, 소정 단위 데이터가 화상 데이터의 슬라이스인 경우에 다중화기(24)로부터 출력되는 비트 스트림 데이터 구조를 나타낸다. 슬라이스는, 일반적으로, 헤더와, 복수의 블록(또는 매크로 블록)으로 구성되어 있다. 헤더는, 1 슬라이스 내의 부호화 데이터의 개시를 나타내는 것이고, 각 슬라이스에 공통의 데이터(개시 부호, 양자화 스케일 등의 파라미터)로 주로 구성되어 있다.
공통의 데이터로서는, 슬라이스 부호화 타입(화면 내 부호화 슬라이스와, 화면간 예측 부호화 슬라이스, 쌍 화면간 예측 부호화 슬라이스의 구별), 슬라이스의 양자화 파라미터의 초기값 등이 있다.
또한, 헤더 내에는 초기값 플래그가 배치되어 있다. 초기값 플래그는, 가변 길이 부호표를 나타내는 정보가 부호화됐는지 여부를 식별하기 위한 플래그이며, 정보가 부호화된 경우는 "1"로 되고, 부호화되어 있지 않은 경우는 "0"으로 된다.
또한, 헤더 내에는, 도 16(a)에 도시하는 바와 같이, 사용하는 가변 길이 부 호표를 나타내는 선택 신호 부호화 데이터가 배치되어 있다. 또, 가변 길이 부호표가 부호화되지 않은 경우는 선택 신호 부호화기(26)로부터는 선택 신호 부호화 데이터는 다중화기(24)에는 출력되지 않고, 그 결과 도 16(b)에 도시하는 바와 같이, 비트 스트림에는 선택 신호 부호화 데이터는 배치되어 있지 않다.
이상에서 설명했듯이, 헤더 내에는, 본래의 헤더를 의미하여 헤더 부호화기(23)에 의해서 부호화된 공통 데이터 부분과, 가변 길이 부호화기(27)에 의해 생성된 초기값 플래그와, 선택 신호 부호화기(26)에 의해 부호화된 선택 신호 부호화 데이터가 존재한다. 더 상세하게는, 공통 데이터 부분은 선두측과 화상 데이터측으로 분리되고, 그 사이에 초기값 플래그와 선택 신호 부호화 데이터가 그 순서로 삽입되어 있다.
또, 본 실시예에서는, 가변 길이 부호표 자체를 부호화하여 헤더 내에 매립하는 것이 아니라, 사용하는 가변 길이 부호표를 나타내는 선택 신호 부호화 데이터를 헤더 내에 매립하고 있다. 따라서, 가변 길이 부호표 그 자체를 부호화하는 것은 아니기 때문에, 부호화량을 삭감할 수 있다.
또한, 사용하는 가변 길이 부호표를 나타내는 선택 신호 부호화 데이터로서는, 예컨대, 헤더 내의 공통 데이터의 일부를 이용할 수 있다. 그 경우는, 그 데이터는 소정 단위 데이터에 대한 공통 데이터의 일부로서의 기능도 갖고 있기 때문에, 부호화량을 더 삭감할 수 있다. 공통 데이터의 예로서는, 예컨대, 소정 단위 데이터가 픽처인 경우는, 픽처 부호화 타입(화면 내 부호화 픽처와, 화면간 예측 부호화 픽처, 쌍 화면간 예측 부호화 픽처의 구별), 픽처의 양자화 파라미터의 초 기값 등이 있다. 또, 초기화에는 그다지 관계가 없는 공통 데이터로서는, 픽처의 부호화 순서, 픽처의 표시 순서, 움직임 벡터나 화상 사이즈 등의 파라미터가 있다. 소정 단위 데이터가 슬라이스인 경우는, 슬라이스 부호화 타입(화면 내 부호화 슬라이스와, 화면간 예측 부호화 슬라이스, 쌍 화면간 예측 부호화 슬라이스의 구별), 슬라이스의 양자화 파라미터의 초기값 등이 있다.
또한, 초기값을 반드시 갱신하도록 하고, 초기값 플래그를 생략해도 좋다.
(3) 가변 길이 복호화 장치의 구성
도 17은 본 발명의 일 실시예로서의 가변 길이 복호화 장치(31)의 개략 구성 블록도이다. 가변 길이 복호화 장치(31)는, 예컨대, 가변 길이 부호화 장치(21)에 의해서 부호화된 데이터를 복호화하기 위한 장치이다. 화상 데이터를 대상으로 하고 있는 경우는, 가변 길이 복호화 장치(31)는, 데이터를 엔트로피 복호화하여, 변환 화상 정보를 얻는 기능을 갖고 있다.
가변 길이 복호화 장치(31)는, 주로, 데이터 복호화부(32)와, 헤더 복호화기(33)를 구비하고 있다.
데이터 복호화부(32)는 헤더 이외의 데이터를 소정 단위 데이터마다 허프만 복호화하기 위한 장치이며, 가변 길이 복호화기(37)와, 선택 신호 복호화기(36)를 구비하고 있다. 또, 여기서 말하는 소정 단위 데이터란, 화상 데이터의 경우는 픽처 또는 슬라이스를 의미한다. 또한, 데이터 복호화부(32)는, 상술한 도 10에서 나타낸 일반적인 화상 복호화 장치(200)에서는, 엔트로피 복호화부(207)에 대응하 고 있다.
가변 길이 복호화기(37)는 스위치(35)에 의해 전환된 가변 길이 부호표(30)의 부호어에 근거하여, 부호화 데이터를 복호화하기 위한 장치이다.
선택 신호 복호화기(36)는, 분리화기(34)로부터 출력되는 선택 신호 부호화 데이터를 고정적인 복호화 방법으로 복호화하고, 그것을 스위치(35)에 출력하기 위한 장치이다.
스위치(35)는, 선택 신호 복호화기(36)로부터 출력되는 부호표 선택 신호에 따라서, 가변 길이 복호화기(37)가 복호화시에 사용하는 가변 길이 부호표(30)를 전환하기 위한 장치이다.
초기화부(39)는 초기화 지령을 선택 신호 복호화기(36)에 대하여 출력하기 위한 장치이다.
헤더 복호화기(33)는 헤더 부호화 데이터를 고정적인 복호화 방법으로 복호화하기 위한 장치이다.
분리화기(34)는 비트 스트림을 헤더 부호화 데이터와, 헤더 이외의 부호화 데이터와, 선택 신호 부호화 데이터로 분리하여 출력하기 위한 장치이다.
(4) 가변 길이 복호화 장치의 동작
① 분리화기의 동작
분리화기(34)는, 비트 스트림을 분리하여, 헤더 부호화 데이터를 헤더 복호화기(33)에 출력하고, 헤더 이외의 부호화 데이터를 가변 길이 복호화기(37)에 출 력하며, 선택 신호 부호화 데이터가 있는 경우는 그것을 선택 신호 복호화기(36)에 출력한다. 또, 헤더 복호화기(33)는, 헤더 내의 초기값 플래그에 대해서는 초기화부(39)에 출력한다.
② 헤더 복호화기의 동작
헤더 복호화기(33)는, 분리화기(34)로부터 출력된 헤더 부호화 데이터를 복호화하고, 헤더 데이터를 출력한다.
③ 데이터 복호화부의 동작
도 18은 데이터 복호화부(32)의 개략 동작을 나타내는 흐름도이다.
단계 S51에서는, 초기화부(39)가 선택 신호 복호화기(36)에 초기화 지령을 출력하고, 선택 신호 복호화기(36)가 소정의 선택표 부호 신호를 스위치(35)에 출력한다. 이 결과, 스위치(35)가 소정의 가변 길이 부호표(30)를 소정 단위 데이터의 복호화의 초기값으로서 선택한다.
단계 S52에서는, 가변 길이 복호화기(37)가, 헤더 내에 매립되어 있었던 초기값 플래그에 의해서, 사용하는 가변 길이 부호표를 나타내는 정보가 부호화되어 있는지 여부를 판단한다. 가변 길이 부호표를 나타내는 정보가 부호화되어 있다고 판단하면 단계 S53에 이행하고, 부호화되어 있지 않다고 판단하는 단계 S53을 스킵하여 단계 S54에 이행한다.
단계 S53에서는, 스위치(35)가, 선택 신호 복호화기(36)로부터 출력되어 온 선택 신호에 근거하여, 그것이 나타내는 가변 길이 부호표(30)를 선택한다.
단계 S54에서는, 가변 길이 복호화기(37)가 서브데이터를 허프만 복호화한 다. 보다 구체적으로는, 가변 길이 복호화기(37)는, 스위치(35)에 의해서 선택된 가변 길이 부호표(30)에 근거하여, 부호화 서브데이터를 복호화하고, 데이터를 출력한다. 소정 단위 데이터가 예컨대, 픽처인 경우는, 슬라이스가 복호화된다. 단계 S56에서는, 가변 길이 복호화기(37)는 발생 데이터에 의해 스위치(35)를 거쳐서 가변 길이 부호표(30)를 선택한다. 이 선택된 가변 길이 부호표(30)는, 다음 서브데이터를 단계 S54에서 복호화할 때에 이용된다.
단계 S55에서는, 모든 서브데이터의 복호화가 종료했는지 여부를 판단한다. 모두 종료하지 않고 있다고 판단하면 단계 S52에 되돌아가, 상술한 동작을 반복한다.
(5) 상기 부호화 방법 및 복호화 방법의 효과
① 상술한 부호화 및 복호화 방법에서는, 각 서브데이터는 허프만 부호화에 의해 취득된 가변 길이 부호표에 근거하여 부호화되어 있기 때문에, 압축 효율이 향상하고 있다. 환언하면, 이 부호화 및 복호화 방법에서는, 전체의 데이터수가 작고 그 때문에 종래라면 학습에 의해서 최적의 부호화를 얻을 수 있기까지의 부호화된 데이터수의 비율을 무시할 수 없는 데이터이더라도, 높은 학습 효율에 의해서 압축 효율을 높일 수 있다.
또한, 초기화된 가변 길이 부호표를 나타내는 정보는 부호화되고, 부호화된 소정 단위 데이터의 헤더 내에 배치되어 있기 때문에, 복호화시는 그 정보가 나타내는 가변 길이 부호표를 초기값으로 하여, 부호화된 소정 단위 데이터를 정확하게 복호화할 수 있다.
② 상술한 부호화 및 복호화 방법에서는, 픽처 또는 슬라이스 단위로 가변 길이 부호표를 부호화하고 있기 때문에, 가변 길이 부호표를 나타내는 정보를 부호화하는 빈도가 적절하다. 제 1에, 전송로 오류에 의해 선택 신호 부호화 데이터가 파괴된 경우라도 수초 이상 화상이 재생 불가능해지는 상태가 발생하는 경우가 없다. 이것이 스트림이나 GOP 단위인 경우는, 가변 길이 부호표를 나타내는 정보의 부호화의 빈도가 낮고, 전송로에 의해 선택 신호 부호화 데이터가 파괴된 경우에는 수초 이상 화상이 재생 불가능해지는 상태가 발생해 버린다. 제 2에, 가변 길이 부호표를 나타내는 정보의 데이터량의 용장이 커지는 경우도 없다. 이것이 블록(또는 매크로 블록) 단위인 경우는, 초기화의 데이터의 용장이 지나치게 커진다.
③ 상술한 부호화 및 복호화 방법에서는, 화상 데이터의 본체는 복수의 가변 길이 부호표를 전환하는 허프만 부호화에 따라서 압축 효율이 높아지고 있다. 그 한편, 공통 데이터인 헤더는 고정적인 부호화 방법으로 부호화되어 있다. 보다 상세하게는, 헤더 중, 본래 헤더인 부분은 고정적인 부호화 방법으로 부호화되고, 삽입된 가변 길이 부호표를 나타내는 정보도 고정적인 부호화 방법으로 부호화되어 있다. 원래 헤더는 화상 데이터의 본체에 비교해서 압축 효과가 낮기 때문에, 고정적인 부호화 방법을 사용해도 전체의 압축 효율의 점에서는 특별히 큰 문제로는 되지 않는다.

3. 기록 매체의 실시예
또한, 상기 각 실시예에서 나타낸 가변 길이 부호화 방법 또는 가변 길이 복호화 방법의 구성을 실현하기 위한 프로그램을, 플로피디스크 등의 기억 매체에 기록하도록 함으로써, 상기 각 실시예에서 나타낸 처리를, 독립된 컴퓨터 시스템에 있어서 간단히 실시하는 것이 가능해진다.
도 19는, 상기 실시예의 가변 길이 부호화 방법 또는 가변 길이 복호화 방법을 저장한 플로피디스크를 이용하여, 컴퓨터 시스템에 의해 실시하는 경우의 설명도이다.
도 19(b)는 플로피디스크의 정면으로부터 본 외관, 단면 구조 및 플로피디스크를 나타내고, 도 19(a)는 기록 매체 본체인 플로피디스크의 물리 포맷의 예를 나타내고 있다. 플로피디스크 FD는 케이스 F 내에 내장되고, 해당 디스크의 표면에는, 동심원 형상으로 외주로부터는 내주를 향하여 복수의 트랙 Tr이 형성되고, 각 트랙은 각도 방향으로 16개의 섹터 Se로 분할되어 있다. 따라서, 상기 프로그램을 저장한 플로피디스크에서는, 상기 플로피디스크 FD 상에 할당된 영역에, 상기 프로그램으로서의 가변 길이 부호화 방법 또는 가변 길이 복호화 방법이 기록되어 있다.
또한, 도 19(c)는 플로피디스크 FD에 상기 프로그램의 기록 재생을 하기 위한 구성을 나타낸다. 상기 프로그램을 플로피디스크 FD에 기록하는 경우는, 컴퓨터 시스템 Cs로부터 상기 프로그램으로서의 가변 길이 부호화 방법 또는 가변 길이 복호화 방법을 플로피디스크 드라이브를 거쳐서 기입한다. 또한, 플로피디스크 내 의 프로그램에 의해 상기 가변 길이 부호화 방법 또는 가변 길이 복호화 방법을 컴퓨터 시스템 중에 구축하는 경우는, 플로피디스크 드라이브에 의해 프로그램을 플로피디스크로부터 판독하여, 컴퓨터 시스템에 전송한다.
또, 상기 설명에서는, 기록 매체로서 플로피디스크를 이용하여 설명을 했지만, 광디스크를 이용해도 마찬가지로 실행할 수 있다. 또한, 기록 매체는 이것에 한정되지 않고, CD-ROM, 메모리 카드, ROM 카세트 등, 프로그램을 기록할 수 있는 것이면 마찬가지로 실시할 수 있다.
4. 본원 발명의 응용예와 그것을 이용한 시스템
또한 여기서, 상기 실시예에서 나타낸 동화상 부호화 방법이나 동화상 복호화 방법의 응용예와 그것을 이용한 시스템을 설명한다.
도 20은 콘텐츠 배신 서비스를 실현하는 콘텐츠 공급 시스템(ex100)의 전체 구성을 나타내는 블록도이다. 통신 서비스의 제공 영역을 소망의 크기로 분할하고, 각 셀 내에 각각 고정 무선국인 기지국(ex107∼ex110)이 설치되어 있다.
이 콘텐츠 공급 시스템(ex100)은, 예컨대, 인터넷(ex101)에 인터넷 서비스 프로바이더(ex102) 및 전화망(ex104) 및 기지국(ex107∼ex110)을 거쳐서, 컴퓨터(ex111), PDA(personal digital assistant)(ex112), 카메라(ex113), 휴대전화(ex114), 카메라 부착 휴대전화(ex115) 등의 각 기기가 접속된다.
그러나, 콘텐츠 공급 시스템(ex100)은 도 17과 같은 조합에 한정되지 않고, 어느 것을 조합시켜 접속하도록 해도 좋다. 또한, 고정 무선국인 기지국(ex107∼ex110)을 거치지 않고, 각 기기가 전화망(ex104)에 직접 접속되더라도 좋다.
카메라(ex113)는 디지털 비디오카메라 등의 동화상 촬영이 가능한 기기이다. 또한, 휴대전화는, PDC(Personal Digital Communications) 방식, CDMA(Code Division Multiple Access) 방식, W-CDMA(Wideband-Code Division Multiple Access) 방식, 또는 GSM(Global System for Mobile Communications) 방식의 휴대전화기, 또는 PHS(Personal Handyphone System) 등이며, 어느 것이라도 상관없다.
또한, 스트리밍 서버(ex103)는, 카메라(ex113)로부터 기지국(ex109), 전화망(ex104)을 통하여 접속되어 있고, 카메라(ex113)를 이용하여 사용자가 송신하는 부호화 처리된 데이터에 근거한 라이브배신 등이 가능하게 된다. 촬영한 데이터의 부호화 처리는 카메라(ex113)에 의해 행해도 좋고, 데이터의 송신 처리를 하는 서버 등에 의해 행하여도 좋다. 또한, 카메라(116)로 촬영한 동화상 데이터는 컴퓨터(ex111)를 거쳐서 스트리밍 서버(ex103)에 송신되어도 좋다. 카메라(ex116)는 디지털 카메라 등의 정지 화상, 동화상이 촬영 가능한 기기이다. 이 경우, 동화상 데이터의 부호화는 카메라(ex116)에 의해 행하여도 컴퓨터(ex111)에 의해 행하여도 어느 쪽이나 좋다. 또한, 부호화 처리는 컴퓨터(ex111)나 카메라(ex116)가 갖는 LSI(ex117)에서 처리하는 것이 된다. 또, 화상 부호화·복호화용의 소프트웨어를 컴퓨터(ex111) 등으로 판독 가능한 기록 매체인 어떠한 저장 미디어(CD-ROM, 가요성 디스크, 하드디스크 등)에 내장해도 좋다. 또한, 카메라 부착 휴대전화(ex115)로 동화상 데이터를 송신해도 좋다. 이 때의 동화상 데이터는 휴대전화(ex115)가 갖는 LSI에서 부호화 처리된 데이터이다.
이 콘텐츠 공급 시스템(ex100)에서는, 사용자가 카메라(ex113), 카메라(ex116) 등으로 촬영하고 있는 콘텐츠(예컨대, 라이브음악을 촬영한 영상 등)를 상기 실시예와 마찬가지로 부호화 처리하여 스트리밍 서버(ex103)에 송신하는 한편, 스트리밍 서버(ex103)는 요구가 있었던 클라이언트에 대하여 상기 콘텐츠 데이터를 스트림 배신한다. 클라이언트로서는, 상기 부호화 처리된 데이터를 복호화하는 것이 가능한, 컴퓨터(ex111), PDA(ex112), 카메라(ex113), 휴대전화(ex114) 등이 있다. 이와 같이 함으로써 콘텐츠 공급 시스템(ex100)은, 부호화된 데이터를 클라이언트에 있어서 수신하여 재생할 수 있고, 또한 클라이언트에 있어서 실시간으로 수신하여 복호화하고, 재생함으로써, 개인 방송도 실현할 수 있게 되는 시스템이다.
이 시스템을 구성하는 각 기기의 부호화, 복호화에는 상기 각 실시예에서 나타낸 동화상 부호화 장치 또는 동화상 복호화 장치를 이용하도록 하면 좋다.
그 일례로서 휴대전화에 대하여 설명한다.
도 21은 상기 실시예에서 설명한 동화상 부호화 방법과 동화상 복호화 방법을 이용한 휴대전화(ex115)를 도시하는 도면이다. 휴대전화(ex115)는, 기지국(ex110)과의 사이에서 전파를 송수신하기 위한 안테나(ex201), CCD 카메라 등의 영상, 정지 화상을 찍을 수 있는 카메라부(ex203), 카메라부(ex203)로 촬영한 영상, 안테나(ex201)로 수신한 영상 등이 복호화된 데이터를 표시하는 액정 모니터 등의 표시부(ex202), 조작키(ex204) 그룹으로 구성되는 본체부, 음성 출력을 하기 위한 스피커 등의 음성 출력부(ex208), 음성 입력을 하기 위한 마이크 등의 음성 입력부(ex205), 촬영한 동화상 또는 정지 화상의 데이터, 수신한 메일의 데이터, 동화상의 데이터 또는 정지 화상의 데이터 등, 부호화된 데이터 또는 복호화된 데이터를 보존하기 위한 기록 미디어(ex207), 휴대전화(ex115)에 기록 미디어(ex207)를 장착 가능하게 하기 위한 슬롯부(ex206)를 갖고 있다. 기록 미디어(ex207)는 SD 카드 등의 플라스틱 케이스 내에 전기적으로 개서나 소거가 가능한 비휘발성 메모리인 EEPROM(Electrically Erasable and Programmable Read Only Memory)의 일종인 플래시 메모리 소자를 저장한 것이다.
또한, 휴대전화(ex115)에 대하여 도 22를 이용하여 설명한다. 휴대전화(ex115)는 표시부(ex202) 및 조작키(ex204)를 구비한 본체부의 각부를 통괄적으로 제어하도록 이루어진 주 제어부(ex311)에 대하여, 전원 회로부(ex310), 조작 입력 제어부(ex304), 화상 부호화부(ex312), 카메라 인터페이스부(ex303), LCD(Liquid Crystal Display) 제어부(ex302), 화상 복호화부(ex309), 다중 분리부(ex308), 기록 재생부(ex307), 변복조 회로부(ex306) 및 음성 처리부(ex305)가 동기 버스(ex313)를 거쳐서 서로 접속되어 있다.
전원 회로부(ex310)는, 사용자의 조작에 의해 통화 종료 및 전원키가 온 상태로 되면, 배터리팩에서 각부에 대하여 전력을 공급함으로써 카메라 부착 디지털 휴대전화(ex115)를 동작 가능한 상태로 기동한다.
휴대전화(ex115)는, CPU, ROM 및 RAM 등으로 이루어지는 주 제어부(ex311)의 제어에 근거하여, 음성 통화 모드시에 음성 입력부(ex205)에 의해 집음한 음성 신 호를 음성 처리부(ex305)에 의해 디지털 음성 데이터로 변환하고, 이것을 변복조 회로부(ex306)에 의해 스펙트럼 확산 처리하여, 송수신 회로부(ex301)에 의해 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 후에 안테나(ex201)를 거쳐서 송신한다. 또한 휴대전화기(ex115)는, 음성통화 모드시에 안테나(ex201)에 의해 수신한 수신 신호를 증폭하여 주파수 변환 처리 및 아날로그 디지털 변환 처리를 실시하고, 변복조 회로부(ex306)에 의해 스펙트럼 역확산 처리하여, 음성 처리부(ex305)에 의해 아날로그 음성 신호로 변환한 후, 이것을 음성 출력부(ex208)를 거쳐서 출력한다.
또한, 데이터 통신 모드시에 전자메일을 송신하는 경우, 본체부의 조작키(ex204)의 조작에 의해서 입력된 전자메일의 텍스트 데이터는 조작 입력 제어부(ex304)를 거쳐서 주 제어부(ex311)에 송출된다. 주 제어부(ex311)는, 텍스트 데이터를 변복조 회로부(ex306)에 의해 스펙트럼 확산 처리하고, 송수신 회로부(ex301)에 의해 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 후에 안테나(ex201)를 거쳐서 기지국(ex110)으로 송신한다.
데이터 통신 모드시에 화상 데이터를 송신하는 경우, 카메라부(ex203)에 의해 촬상된 화상 데이터를 카메라 인터페이스부(ex303)를 거쳐서 화상 부호화부(ex312)에 공급한다. 또한, 화상 데이터를 송신하지 않는 경우에는, 카메라부(ex203)에 의해 촬상한 화상 데이터를 카메라 인터페이스부(ex303) 및 LCD 제어부(ex302)를 거쳐서 표시부(ex202)에 직접 표시할 수도 있다.
화상 부호화부(ex312)는, 본원 발명에서 설명한 화상 부호화 장치를 구비한 구성이며, 카메라부(ex203)로부터 공급된 화상 데이터를 상기 실시예에서 나타낸 화상 부호화 장치에 이용한 부호화 방법에 의해서 압축 부호화함으로써 부호화 화상 데이터로 변환하고, 이것을 다중 분리부(ex308)에 송출한다. 또한, 이 때 동시에 휴대전화기(ex115)는, 카메라부(ex203)에 의해 촬상 중에 음성 입력부(ex205)에 의해 집음한 음성을 음성 처리부(ex305)를 거쳐서 디지털의 음성 데이터로서 다중 분리부(ex308)에 송출한다.
다중 분리부(ex308)는, 화상 부호화부(ex312)로부터 공급된 부호화 화상 데이터와 음성 처리부(ex305)로부터 공급된 음성 데이터를 소정의 방식으로 다중화하고, 그 결과 얻어지는 다중화 데이터를 변복조 회로부(ex306)에 의해 스펙트럼 확산 처리하고, 송수신 회로부(ex301)에 의해 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 후에 안테나(ex201)를 거쳐서 송신한다.
데이터 통신 모드시에 홈페이지 등에 링크된 동화상 파일의 데이터를 수신하는 경우, 안테나(ex201)를 거쳐서 기지국(ex110)으로부터 수신한 수신 신호를 변복조 회로부(ex306)로 스펙트럼 역확산 처리하고, 그 결과 얻어지는 다중화 데이터를 다중 분리부(ex308)에 송출한다.
또한, 안테나(ex201)를 거쳐서 수신된 다중화 데이터를 복호화하기 위해서는, 다중 분리부(ex308)는, 다중화 데이터를 분리함으로써 화상 데이터의 부호화 비트 스트림과 음성 데이터의 부호화 비트 스트림으로 나누어, 동기 버스(ex313)를 거쳐서 당해 부호화 화상 데이터를 화상 복호화부(ex309)에 공급하고, 또한 당해 음성 데이터를 음성 처리부(ex305)에 공급한다.
다음에, 화상 복호화부(ex309)는, 본원 발명에서 설명한 화상 복호화 장치를 구비한 구성이며, 화상 데이터의 부호화 비트 스트림을 상기 실시예에서 나타낸 부호화 방법에 대응한 복호화 방법으로 복호함으로써 재생 동화상 데이터를 생성하며, 이것을 LCD 제어부(ex302)를 거쳐서 표시부(ex202)에 공급하고, 이에 따라, 예컨대, 홈페이지에 링크된 동화상 파일에 포함되는 동화상 데이터가 표시된다. 이 때 동시에 음성 처리부(ex305)는, 음성 데이터를 아날로그 음성 신호로 변환한 후, 이것을 음성 출력부(ex208)에 공급하고, 이에 따라, 예컨대, 홈페이지에 링크된 동화상 파일에 포함되는 음성 데이터가 재생된다.
또, 상기 시스템의 예에 한정되지 않고, 최근에는 위성, 지상파에 의한 디지털 방송이 화제로 되고 있고, 도 23에 도시하는 바와 같이, 디지털 방송용 시스템에도 상기 실시예의 적어도 화상 부호화 장치 또는 화상 복호화 장치 중 어느 하나를 넣을 수 있다. 구체적으로는, 방송국(ex409)에서는 영상 정보의 부호화 비트 스트림이 전파를 거쳐서 통신 또는 방송 위성(ex410)에 전송된다. 이것을 받은 방송 위성(ex410)은 방송용 전파를 발신하고, 이 전파를 위성방송 수신 설비를 갖는 가정의 안테나(ex406)에 의해 수신해서, 텔레비전(수신기)(ex401) 또는 셋톱박스(STB)(ex407) 등의 장치에 의해 부호화 비트 스트림을 복호화하여 이것을 재생한다. 또한, 기록 매체인 CD나 DVD 등의 저장 미디어(ex402)에 기록한 부호화 비트 스트림을 판독하고, 복호화하는 재생 장치(ex403)에도 상기 실시예에서 나타낸 화상 복호화 장치를 실장할 수 있다. 이 경우, 재생된 영상 신호는 모니터(ex404)에 표시된다. 또한, CATV용의 케이블(ex405) 또는 위성/지상파 방송 의 안테나(ex406)에 접속된 셋톱박스(ex407) 내에 화상 복호화 장치를 실장하여, 이것을 텔레비전의 모니터(ex408)에 의해 재생하는 구성도 생각된다. 이 때 셋톱박스가 아니라, 텔레비전 내에 화상 복호화 장치를 넣더라도 좋다. 또한, 안테나(ex411)를 갖는 차(ex412)로 위성(ex410)으로부터 또는 기지국(ex107) 등으로부터 신호를 수신하여, 차(ex412)가 갖는 카 내비게이션(ex413) 등의 표시 장치에 동화상을 재생할 수도 있다.
또한, 화상 신호를 상기 실시예에서 나타낸 화상 부호화 장치에 의해 부호화하여, 기록 매체에 기록할 수도 있다. 구체예로서는, DVD 디스크(ex421)에 화상 신호를 기록하는 DVD 리코더나, 하드디스크에 기록하는 디스크 리코더 등의 리코더(ex420)가 있다. 또한 SD 카드(ex422)에 기록할 수도 있다. 리코더(ex420)가 상기 실시예에서 나타낸 화상 복호화 장치를 구비하고 있으면, DVD 디스크(ex421)나 SD 카드(ex422)에 기록한 화상 신호를 재생하여, 모니터(ex408)에 의해 표시할 수 있다.
또, 카 내비게이션(ex413)의 구성은 예컨대, 도 19에 나타내는 구성 중, 카메라부(ex203)와 카메라 인터페이스부(ex303), 화상 부호화부(ex312)를 제외한 구성이 생각되고, 마찬가지의 것이 컴퓨터(ex111)나 텔레비전(수신기)(ex401) 등이라도 생각된다.
또한, 상기 휴대전화(ex114) 등의 단말은, 부호화기·복호화기를 모두 갖는 송수신형의 단말 외에, 부호화기만의 송신 단말, 복호화기만의 수신 단말의 3가지의 실장 형식이 생각된다.
이와 같이, 상기 실시예에서 나타낸 동화상 부호화 방법 또는 동화상 복호화 방법을 상술한 어느 하나의 기기·시스템에 이용할 수 있고, 그렇게 하는 것으로, 상기 실시예에서 설명한 효과를 얻을 수 있다.
5. 다른 실시예
본 발명은 이러한 상기 실시예에 한정되는 것이 아니라, 본 발명의 범위를 일탈하는 일 없이 여러 가지의 변형 또는 수정이 가능하다.

Claims (37)

  1. 데이터의 발생 빈도를 나타내는 부호화 파라미터의 표인 파라미터표를 참조하면서 화상에 관한 복수의 서브데이터로 구성된 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 방법으로서,
    상기 파라미터표를 초기값으로 설정하는 초기화 단계와,
    초기화된 파라미터표에 관한 정보를 부호화하는 파라미터표 정보 부호화 단계와,
    상기 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 부호화 파라미터를 상기 파라미터표로부터 취득하는 파라미터 취득 단계와,
    상기 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 부호화하는 서브데이터 부호화 단계와,
    상기 파라미터표에 관한 정보를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 정보 부호화 데이터 배치 단계
    를 포함하는 가변 길이 부호화 방법.
  2. 제 1 항에 있어서,
    부호화한 서브데이터의 값에 근거하여 상기 파라미터표를 갱신하고, 상기 부호화 파라미터를 갱신한 상기 파라미터표로부터 취득하는 가변 길이 부호화 방법.
  3. 삭제
  4. 삭제
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 서브데이터 부호화 단계에서는, 상기 서브데이터를, 상기 부호화 파라미터를 참조하여 산술 부호화하는 가변 길이 부호화 방법.
  6. 제 1 항에 있어서,
    상기 파라미터표에 관련된 정보는 상기 파라미터표 그 자체인 가변 길이 부호화 방법.
  7. 제 6 항에 있어서,
    상기 정보 부호화 단계에서는, 상기 파라미터표의 일부만을 부호화하는 가변 길이 부호화 방법.
  8. 제 7 항에 있어서,
    상기 파라미터표의 일부는, 발생 확률이 높은 부호화 데이터에 대응하는 파라미터 부분인 가변 길이 부호화 방법.
  9. 제 1 항에 있어서,
    상기 파라미터표에 관련된 정보는 상기 파라미터표를 지시하는 정보인 가변 길이 부호화 방법.
  10. 제 9 항에 있어서,
    상기 정보 부호화 데이터 배치 단계에서는, 상기 파라미터표를 지시하는 정보는 상기 소정 단위 데이터에 대한 공통 데이터의 일부로서 배치되는 가변 길이 부호화 방법.
  11. 제 1 항에 있어서,
    상기 정보 부호화 단계에서는, 상기 파라미터표에 관련된 정보를 고정적인 부호화 방법으로 부호화하는 가변 길이 부호화 방법.
  12. 제 1 항에 있어서,
    초기화된 파라미터표에 관한 정보를 부호화할지 여부를 판단하는 부호화 판단 단계와,
    판단 결과를 식별하는 플래그를 상기 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 플래그 배치 단계
    를 더 포함하는 가변 길이 부호화 방법.
  13. 제 1 항에 있어서,
    상기 단위 데이터는 화상 데이터에서의 픽처(picture)인 가변 길이 부호화 방법.
  14. 제 1 항에 있어서,
    상기 소정 단위 데이터는 화상 데이터에서의 슬라이스(slice)인 가변 길이 부호화 방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 컴퓨터에 가변 길이 부호화 처리를 실행시키기 위한 프로그램을 저장한 기억 매체로서,
    상기 가변 길이 부호화 처리는,
    데이터의 발생 빈도를 나타내는 부호화 파라미터의 표인 파라미터표를 참조하면서 화상에 관한 복수의 서브데이터로 구성된 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 방법으로서,
    상기 파라미터표를 초기값으로 설정하는 초기화 단계와,
    초기화된 파라미터표에 관한 정보를 부호화하는 파라미터표 정보 부호화 단계와,
    상기 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 부호화 파라미터를 상기 파라미터표로부터 취득하는 파라미터 취득 단계와,
    상기 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 부호화하는 서브데이터 부호화 단계와,
    상기 파라미터표에 관한 정보를 부호화된 소정 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 정보 부호화 데이터 배치 단계
    를 포함하는 기억 매체.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 데이터의 발생 빈도를 나타내는 부호화 파라미터의 표인 파라미터표를 참조하면서 화상에 관한 복수의 서브데이터로 구성된 각 소정 단위 데이터를 부호화하는 가변 길이 부호화 장치로서,
    상기 파라미터표를 초기값으로 설정하는 초기화 수단과,
    초기화된 파라미터표에 관한 정보를 부호화하는 파라미터표 정보 부호화 수단과,
    상기 소정 단위 데이터를 구성하는 각 서브데이터의 부호화에 이용되는 부호화 파라미터를 상기 파라미터표로부터 취득하는 파라미터 취득 수단과,
    상기 서브데이터를, 취득된 부호화 파라미터를 참조하여 가변 길이 부호화하는 서브데이터 부호화 수단과,
    상기 파라미터표에 관한 정보를 부호화된 단위 데이터보다 먼저 취득할 수 있는 위치에 배치하여 출력하는 정보 부호화 데이터 배치 수단
    을 구비하는 가변 길이 부호화 장치.
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
KR1020037015428A 2002-03-27 2003-03-13 가변 길이 부호화 방법, 가변 길이 부호화 장치 및 기억 매체 KR100927510B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002088345 2002-03-27
JPJP-P-2002-00088345 2002-03-27
PCT/JP2003/003035 WO2003081784A1 (en) 2002-03-27 2003-03-13 Variable length encoding method, variable length decoding method, storage medium, variable length encoding device, variable length decoding device, and bit stream

Publications (2)

Publication Number Publication Date
KR20040099101A KR20040099101A (ko) 2004-11-26
KR100927510B1 true KR100927510B1 (ko) 2009-11-17

Family

ID=28449441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037015428A KR100927510B1 (ko) 2002-03-27 2003-03-13 가변 길이 부호화 방법, 가변 길이 부호화 장치 및 기억 매체

Country Status (17)

Country Link
US (3) US6954156B2 (ko)
EP (4) EP2765708B1 (ko)
KR (1) KR100927510B1 (ko)
CN (2) CN101692610B (ko)
AU (1) AU2003221378B9 (ko)
BR (1) BRPI0303661B1 (ko)
CA (1) CA2447840C (ko)
CY (1) CY1113502T1 (ko)
DK (3) DK2391019T3 (ko)
ES (4) ES2493616T3 (ko)
HK (1) HK1196720A1 (ko)
HU (2) HUE044878T2 (ko)
MX (1) MXPA03010827A (ko)
PT (3) PT2765708T (ko)
SI (3) SI2765708T1 (ko)
TR (1) TR201906516T4 (ko)
WO (1) WO2003081784A1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7400727B2 (en) * 1997-07-03 2008-07-15 Matsushita Electric Industrial Co., Ltd. Information embedding method, information extracting method, information embedding apparatus, information extracting apparatus, and recording media
US7286670B2 (en) * 1999-11-09 2007-10-23 Chaoticom, Inc. Method and apparatus for chaotic opportunistic lossless compression of data
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
ES2730953T3 (es) * 2002-04-26 2019-11-13 Ntt Docomo Inc Método de decodificación de señal, dispositivo de decodificación de señal, y programa de decodificación de señal
FI114071B (fi) * 2003-01-13 2004-07-30 Nokia Corp Kuvien käsitteleminen rajoitetulla bittimäärällä
WO2004081719A2 (en) * 2003-03-07 2004-09-23 Chaoticom, Inc. Methods and systems for digital rights management of protected content
DE102004007191B3 (de) * 2004-02-13 2005-09-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
US7400277B2 (en) * 2004-04-06 2008-07-15 International Business Machines Corporation Method and system for the compression of probability tables
US7573406B2 (en) * 2004-05-21 2009-08-11 Broadcom Corporation System and method for decoding context adaptive variable length coding
EP1797723A1 (en) * 2004-10-05 2007-06-20 Vectormax Corporation A video compression system
WO2007067168A1 (en) * 2005-12-05 2007-06-14 Thomson Licensing Watermarking encoded content
US7365658B2 (en) * 2006-02-28 2008-04-29 The Board Of Trustees Of The University Of Arkansas Method and apparatus for lossless run-length data encoding
JP4997243B2 (ja) * 2006-08-08 2012-08-08 パナソニック株式会社 画像符号化装置、その方法およびその集積回路
US8942292B2 (en) * 2006-10-13 2015-01-27 Qualcomm Incorporated Efficient significant coefficients coding in scalable video codecs
JP2009152990A (ja) * 2007-12-21 2009-07-09 Panasonic Corp 画像符号化装置及び画像復号化装置
US7557740B1 (en) * 2008-04-18 2009-07-07 Realtek Semiconductor Corp. Context-based adaptive binary arithmetic coding (CABAC) decoding apparatus and decoding method thereof
US20090260397A1 (en) * 2008-04-21 2009-10-22 Cornejo Ivan A Glass Structure Having Sub-Micron and Nano-Size Bandgap Structures and Method For Producing Same
GB2465809B (en) * 2008-12-01 2012-12-12 Advanced Risc Mach Ltd Dynamic selection of suitable codes for variable length coding and decoding
CN102282770B (zh) * 2009-01-23 2014-04-16 日本电信电话株式会社 一种参数选择方法、参数选择装置
JP5274317B2 (ja) * 2009-03-17 2013-08-28 パナソニック株式会社 符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路
US9615108B2 (en) 2009-06-29 2017-04-04 Thomson Licensing Methods and apparatus for adaptive probability update for non-coded syntax
US8565811B2 (en) * 2009-08-04 2013-10-22 Microsoft Corporation Software-defined radio using multi-core processor
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
US9753884B2 (en) * 2009-09-30 2017-09-05 Microsoft Technology Licensing, Llc Radio-control board for software-defined radio platform
WO2011052142A1 (ja) 2009-10-29 2011-05-05 パナソニック株式会社 画像符号化方法および画像復号方法
US8627189B2 (en) 2009-12-03 2014-01-07 Microsoft Corporation High performance digital signal processing in software radios
US20110136439A1 (en) * 2009-12-04 2011-06-09 Microsoft Corporation Analyzing Wireless Technologies Based On Software-Defined Radio
CN101770367B (zh) * 2009-12-30 2012-10-31 飞天诚信科技股份有限公司 .net文件压缩方法和装置
CN101794219B (zh) * 2009-12-30 2012-12-12 飞天诚信科技股份有限公司 .net文件的压缩方法和装置
US20110310976A1 (en) * 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
PL3751564T3 (pl) * 2010-07-20 2023-03-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Dekoder audio, sposób dekodowania audio i program komputerowy
US20120195366A1 (en) * 2011-02-01 2012-08-02 Mediatek Singapore Pte. Ltd. Method and Apparatus of Adaptive Inter Mode Coding Using Variable Length Codes
WO2012149679A1 (en) 2011-05-04 2012-11-08 Microsoft Corporation Spectrum allocation for base station
US9635374B2 (en) 2011-08-01 2017-04-25 Apple Inc. Systems and methods for coding video data using switchable encoders and decoders
US9130711B2 (en) 2011-11-10 2015-09-08 Microsoft Technology Licensing, Llc Mapping signals from a virtual frequency band to physical frequency bands
US8989286B2 (en) 2011-11-10 2015-03-24 Microsoft Corporation Mapping a transmission stream in a virtual baseband to a physical baseband with equalization
JP6641857B2 (ja) * 2015-10-05 2020-02-05 富士通株式会社 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置
US20170180757A1 (en) * 2015-12-18 2017-06-22 Blackberry Limited Binarizer selection for image and video coding
US10869032B1 (en) 2016-11-04 2020-12-15 Amazon Technologies, Inc. Enhanced encoding and decoding of video reference frames
US10484701B1 (en) * 2016-11-08 2019-11-19 Amazon Technologies, Inc. Rendition switch indicator
US10264265B1 (en) 2016-12-05 2019-04-16 Amazon Technologies, Inc. Compression encoding of images
US10681382B1 (en) 2016-12-20 2020-06-09 Amazon Technologies, Inc. Enhanced encoding and decoding of video reference frames
US10944423B2 (en) 2019-03-14 2021-03-09 International Business Machines Corporation Verifying the correctness of a deflate compression accelerator
CN112399181B (zh) * 2019-08-19 2022-08-26 华为技术有限公司 图像编解码的方法、装置和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287468A (en) * 1987-06-03 1994-02-15 Sony Corporation Method and apparatus for processing information data
US5532694A (en) * 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
JPH05199422A (ja) * 1992-01-20 1993-08-06 Fujitsu General Ltd 画像伝送装置
JPH06225279A (ja) 1992-10-26 1994-08-12 Sony Corp 符号化方法、復号化方法、符号化装置及び復号化装置
WO1994023428A1 (en) * 1993-03-26 1994-10-13 Sony Corporation Disklike recording medium, apparatus for recording data on disk, and apparatus for reproducing data from disk
US5666161A (en) * 1993-04-26 1997-09-09 Hitachi, Ltd. Method and apparatus for creating less amount of compressd image data from compressed still image data and system for transmitting compressed image data through transmission line
KR970009408B1 (ko) 1994-01-18 1997-06-13 대우전자 주식회사 인터/인트라 테이블 선택 회로
JP3274284B2 (ja) * 1994-08-08 2002-04-15 キヤノン株式会社 符号化装置およびその方法
JP2840589B2 (ja) * 1996-02-09 1998-12-24 富士通株式会社 データ圧縮装置及びデータ復元装置
JP3747525B2 (ja) * 1996-08-28 2006-02-22 株式会社日立製作所 並列データベースシステム検索方法
US5995148A (en) * 1997-02-14 1999-11-30 At&T Corp Video coder having scalar dependent variable length coder
US6493385B1 (en) * 1997-10-23 2002-12-10 Mitsubishi Denki Kabushiki Kaisha Image encoding method, image encoder, image decoding method, and image decoder
CN1173567C (zh) * 2000-02-09 2004-10-27 德国汤姆森-布兰特有限公司 使用加密、解密来保护数据流的方法、编码和解码装置

Also Published As

Publication number Publication date
AU2003221378A1 (en) 2003-10-08
EP1445869A1 (en) 2004-08-11
CN1515078A (zh) 2004-07-21
MXPA03010827A (es) 2004-02-17
US20050156763A1 (en) 2005-07-21
EP1445869B1 (en) 2012-11-28
ES2493616T3 (es) 2014-09-12
EP1445869A4 (en) 2007-03-14
US20060145897A1 (en) 2006-07-06
US7088269B2 (en) 2006-08-08
US20050012647A1 (en) 2005-01-20
HUE030635T2 (en) 2017-06-28
KR20040099101A (ko) 2004-11-26
SI2765708T1 (sl) 2016-11-30
WO2003081784A1 (en) 2003-10-02
ES2724399T3 (es) 2019-09-10
ES2399422T3 (es) 2013-04-01
PT1445869E (pt) 2012-12-17
BR0303661A (pt) 2004-07-13
PT2765708T (pt) 2016-10-25
DK2391019T3 (da) 2014-09-01
SI2391019T1 (sl) 2014-09-30
DK1445869T3 (da) 2013-01-02
ES2599637T3 (es) 2017-02-02
CA2447840A1 (en) 2003-10-02
CN101692610B (zh) 2014-06-25
HK1196720A1 (zh) 2014-12-19
EP2765708B1 (en) 2016-07-27
EP2765708A1 (en) 2014-08-13
EP2391019A3 (en) 2011-12-28
CN101692610A (zh) 2010-04-07
PT2391019E (pt) 2014-08-29
AU2003221378B2 (en) 2008-07-24
US6954156B2 (en) 2005-10-11
EP2391019B1 (en) 2014-06-25
DK2765708T3 (en) 2016-11-14
US7248190B2 (en) 2007-07-24
HUE044878T2 (hu) 2019-11-28
SI1445869T1 (sl) 2013-01-31
CN100555877C (zh) 2009-10-28
EP3098969B1 (en) 2019-02-20
BRPI0303661B1 (pt) 2016-09-27
EP2391019A2 (en) 2011-11-30
CA2447840C (en) 2011-08-09
AU2003221378B9 (en) 2009-01-08
TR201906516T4 (tr) 2019-05-21
EP3098969A1 (en) 2016-11-30
CY1113502T1 (el) 2016-06-22

Similar Documents

Publication Publication Date Title
KR100927510B1 (ko) 가변 길이 부호화 방법, 가변 길이 부호화 장치 및 기억 매체
JP5208157B2 (ja) 復号化システム
JP4733240B1 (ja) 受信装置および受信方法
JP4197262B2 (ja) 可変長符号化方法、可変長復号化方法、記憶媒体、可変長符号化装置、可変長復号化装置、及びビットストリーム
JP4197345B2 (ja) 可変長復号化方法、記憶媒体、及び可変長復号化装置

Legal Events

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

Payment date: 20121019

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131018

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141022

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161020

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181022

Year of fee payment: 10