KR100417932B1 - 영상 인코더, 영상 부호화 방법, 영상 디코더 및 영상 복호화 방법 - Google Patents

영상 인코더, 영상 부호화 방법, 영상 디코더 및 영상 복호화 방법 Download PDF

Info

Publication number
KR100417932B1
KR100417932B1 KR10-2001-7007032A KR20017007032A KR100417932B1 KR 100417932 B1 KR100417932 B1 KR 100417932B1 KR 20017007032 A KR20017007032 A KR 20017007032A KR 100417932 B1 KR100417932 B1 KR 100417932B1
Authority
KR
South Korea
Prior art keywords
vop
time
accuracy
image
encoding
Prior art date
Application number
KR10-2001-7007032A
Other languages
English (en)
Inventor
야가사키요이치
스즈키테루히코
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Application granted granted Critical
Publication of KR100417932B1 publication Critical patent/KR100417932B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/177Methods 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 group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/29Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving scalability at the object level, e.g. video object layer [VOL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Numerical Control (AREA)

Abstract

효과적인 랜덤 억세스가 가능해진다. 1초의 정확도내에서 부호화 시작 절대 시간이 배열된 비디오 평면의 그룹(GOV)층은 부호화 비트열의 층으로 제공된다. GOV층은 부호화 비트열의 헤드(head) 뿐만 아니라 부호화 비트열내의 임의의 위치에 삽입될 수 있다. GOV층을 구성하는 각 영상 객체 평면(VOP)의 디스플레이 시간은 부호화 시작 절대 시간을 표준으로 하여 초의 단위로 절대 시간을 나타내는 modulo_time_base와, modulo_time_base에 의해 나타내지는 시간(동기화 시점) 이래로 경과된 시간을 ms(millisecond)의 단위로 나타내는 VOP_time_increment로 표시된다.

Description

영상 인코더, 영상 부호화 방법, 영상 디코더 및 영상 복호화 방법 {Image encoder, image encoding method, image decoder, image decoding method, and distribution media}
본 발명은 영상 인코더(encoder), 영상 부호화 방법, 영상 디코더(decoder), 영상 복호화 방법, 및 배포 매체에 관한 것이다. 특히, 본 발명은 예를 들면, 동적 영상 데이터가 자기 광학 디스크, 자기 테이프 등과 같은 저장 매체에 기록되고 기록된 데이터가 또한 재생되어 디스플레이상에 디스플레이되는 경우, 또는 동적 영상 데이터가 전송 경로를 통해 전송기측에서 수신기측으로 전송되고 수신기측에서는 수신된 동적 영상 데이터가 텔레비젼 회의 시스템, 비디오폰 시스템, 방송 장비, 및 다중매체 데이터베이스 회복 시스템에서 편집 및 기록되거나 디스플레이되는 경우에 사용되기 적합한 영상 인코더, 영상 부호화 방법, 영상 디코더, 영상 복호화 방법, 및 배포 매체에 관한 것이다.
예를 들어 텔레비젼 회의 시스템 및 비디오폰 시스템에서와 같이, 동적 영상 데이터를 먼 위치로 전송하는 시스템에서는 전송 경로를 효과적으로 이용하기 위해 선(line) 상관관계와 프레임간(interframe) 상관관계를 이용해 영상 데이터가 압축되고 부호화된다.
대표적인 고효율 동적 영상 부호화 시스템으로는 MPEG(Moving Picture Experts Group) 표준을 근거로 하는 저장 매체용 동적 영상 부호화 시스템이 있다. 이 MPEG 표준은 ISO(International Organization for Standardization)-IEC/JTC1/SC2/WG11에 의해 논의되어 표준으로 제안되었다. MPEG 표준은 이산 코싸인 변형(DCT) 부호화와 움직임 보상 예측 부호화의 조합을 사용한 하이브리드(hybrid) 시스템을 적용한다.
MPEG 표준은 넓은 범위의 응용 및 기능을 지지하기 위해 일부 프로파일과 레벨을 정의한다. MPEG 표준은 주로 메인 레벨에서의 메인 프로파일을 근거로 한다(MP@ML).
도 1은 MPEG 표준 시스템에서 MP@ML 인코더의 구성예를 도시한다.
부호화되는 영상 데이터는 프레임 메모리(31)로 입력되어 임시로 저장된다. 움직임 벡터 검출기(32)는 예를 들면, 16으로 구성된 매크로블록(macroblock) 단위(16 픽셀(pixel))로 프레임 메모리(31)에 저장된 영상 데이터를 판독하여 움직임 벡터를 검출한다.
여기서, 움직임 벡터 검출기(32)는 I-화상 (intracoded picture), P-화상(forward predictive-coded picture), 또는 B-화상 (bidirectionally predictive-coded picture) 중 하나로 각 프레임의 영상 데이터를 처리한다. 시퀀스적으로 입력되는 프레임의 영상이 I-, P-, 및 B-화상으로 처리되는 방법은 미리 정해짐을 주목한다(예를 들면, 영상은 기술된 순서에서 I-화상, B-화상, P-화상, B-화상, P-화상, ..., B-화상, 및 P-화상으로 처리된다).
즉, 움직임 벡터 검출기(32)에서는 프레임 메모리(31)에 저장된 영상 데이터에서 소정의 기준 프레임을 기준으로 하고, 부호화된 현재 프레임에서 16 픽셀(16 선)의 작은 블록(매크로블록)은 기준 프레임에서 작은 크기의 블록 세트와 정합된다. 블록 정합으로, 매크로블록의 움직임 벡터가 검출된다.
여기서, MPEG 표준에서는 영상에 대한 예측 모드가 4 종류를 포함한다: 인트라 부호화(intracoding), 전방 예측 부호화(forward predictive coding), 후방 예측 부호화(backward predictive coding), 및 양방향 예측 부호화(bidirectionally predictive coding). I-화상은 인트라 부호화에 의해 부호화된다. P-화상은 인트라 부호화나 전방 예측 부호화에 의해 부호화된다. B-화상은 인트라 부호화, 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측 부호화에 의해 부호화된다.
즉, 움직임 벡터 검출기(32)는 인트라 부호화 모드를 I-화상에 예측 모드로 설정한다. 이 경우에, 움직임 벡터 검출기(32)는 움직임 벡터를 검출하지 않고 예측 모드(인트라 부호화 모드)를 가변 단어길이 부호화(VCL) 유닛(36) 및 움직임 보상기(42)로 출력한다.
움직임 벡터 검출기(32)는 또한 P-화상에 대한 전방 예측을 실행하고 움직임벡터를 검출한다. 또한, 움직임 벡터 검출기(32)에서는 전방 예측을 실행하여 발생된 예측 에러가 예를 들면, 부호화되는 매크로블록(P-화상내의 매크로블록)의 분산과 비교된다. 비교 결과로, 매크로블록의 분산이 예측 에러 보다 작을 때, 움직임 벡터는 인트라 부호화 모드를 예측 모드로 설정하고, 이를 VLC 유닛(36) 및 움직임 보상기(42)로 출력한다. 또한, 전방 예측을 실행하여 발생된 예측 에러가 더 작으면, 움직임 벡터 검출기(32)는 전방 예측 부호화 모드를 예측 모드로 설정한다. 전방 예측 부호화 모드는 검출된 움직임 벡터와 함께 VLC 유닛(36) 및 움직임 보상기(42)로 출력된다.
움직임 벡터 검출기(32)는 또한 B-화상에 대해 전방 예측, 후방 예측, 및 양방향 예측을 실행하고, 각각의 움직임 벡터를 검출한다. 이어서, 움직임 벡터 검출기(32)는 전방 예측, 후방 예측, 및 양방향 예측에서의 예측 에러로부터 최소 에러(이후 필요한 경우 최소 예측 에러라 칭하여지는)를 검출하고, 예를 들면 부호화되는 매크로블록(B-화상에서의 매크로블록)의 분산과 최소 예측 에러를 비교한다. 비교 결과로, 매크로블록의 분산이 최소 예측 에러 보다 작을 때, 움직임 벡터 검출기(32)는 인트라 부호화 모드를 예측 모드로 설정하고, 이를 VLC 유닛(36) 및 움직임 보상기(42)로 출력한다. 또한, 최소 예측 에러가 더 작으면, 움직임 벡터 검출기(32)는 최소 예측 에러가 구해진 예측 모드를 예측 모드로 설정한다. 예측 모드는 대응하는 움직임 벡터와 함께 VLC 유닛(36) 및 움직임 보상기(42)로 출력한다.
움직임 보상기(42)가 움직임 벡터 검출기(32)로부터 예측 모드 및 움직임 벡터를 모두 수신하면, 움직임 보상기(42)는 수신된 예측 모드 및 움직임 벡터에 따라 부호화되고 미리 국부적으로 복호화되어 프레임 메모리(41)에 저장된 영상 데이터를 판독한다. 이 판독 영상 데이터는 산술 유닛(33) 및 (40)에 예측된 영상 데이터로 공급된다.
산술 유닛(33)은 움직임 벡터 검출기(32)에 의해 프레임 메모리(31)로부터 판독된 영상 데이터와 같은 매크로블록을 프레임 메모리(31)로부터 판독하고, 움직임 보상기(42)로부터 공급되었던 예측 영상과 매크로블록 사이의 차이를 계산한다. 이 차이값은 DCT 유닛(34)으로 공급된다.
한편, 움직임 벡터 검출기(32)로부터 예측 모드만이 수신되는 경우, 즉 예측 모드가 인트라 부호화 모드인 경우, 움직임 보상기(42)는 예측된 영상을 출력하지 않는다. 이 경우에는 산술 유닛(33)(또한 산술 유닛(40))이 프레임 메모리(31)로부터 판독된 매크로블록을 처리하지 않고 DCT 유닛(34)으로 출력한다.
DCT 유닛(34)에서는 산술 유닛(33)의 출력 데이터에 DCT가 적용되고, 결과의 DCT 계수는 양자화기(35)로 공급된다. 양자화기(35)에서는 버퍼(37)의 데이터 저장량(버퍼(37)에 저장된 데이터의 양)에 따라 양자화 스텝(양자화 스케일)가 설정된다(버퍼 피드백(buffer feedback)). 양자화 스텝로, DCT 유닛(34)으로부터의 DCT 계수는 양자화된다. 양자화된 DCT 계수(이후 필요한 경우 양자화 계수라 칭하여지는)는 설정된 양자화 스텝과 함께 VLC 유닛(36)에 공급된다.
VLC 유닛(36)에서는 양자화기(35)에 의해 공급된 양자화 계수가 호프만 코드(Huffman code)와 같은 가변 단어길이 코드로 변형되어 버퍼(37)에 출력된다.또한, VLC 유닛(36)에서는 양자화기(35)로부터의 양자화 스텝이 가변 단어길이 부호화로 부호화되고, 마찬가지로 움직임 벡터 검출기(32)로부터의 움직임 벡터 및 예측 모드(인트라 부호화(영상 예측 인트라 부호화), 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측 부호화를 나타내는)가 부호화된다. 결과의 부호화 데이터는 버퍼(37)로 출력된다.
버퍼(37)는 VLC 유닛(36)으로부터 공급된 부호화 데이터를 임시로 저장하고, 그에 의해 저장된 데이터량을 평활화시킨다. 예를 들면, 평활화된 데이터는 부호화된 비트열로서 전송 경로에 출력되거나 저장 매체에 기록된다.
버퍼(37)는 또한 저장된 데이터량을 양자화기(35)로 출력한다. 양자화기(35)는 이 버퍼(37)에 의해 출력된 데이터의 저장량에 따라 양자화 스텝을 설정한다. 즉, 버퍼(37)의 용량이 오버플로(overflow)될 가능성이 있을 때, 양자화기(35)는 양자화 스텝의 크기를 증가시키고, 그에 의해 양자화된 계수의 데이터량을 줄인다. 버퍼(37)의 용량이 언더플로(underflow) 상태로 될 가능성이 있을 때, 양자화기(35)는 양자화 스텝의 크기를 줄이고, 그에 의해 양자화 계수의 데이터량을 증가시킨다. 이 방식으로, 버퍼(37)의 오버플로 및 언더플로가 방지된다.
양자화기(35)에 의해 출력되는 양자화 계수 및 양자화 스텝은 VLC 유닛(36) 뿐만 아니라 역양자화기(38)로 공급된다. 역양자화기(38)에서는 양자화기(35)로부터의 양자화 계수가 양자화기(35)로부터 공급된 양자화 스텝에 따라 역으로 양자화되고, 그에 의해 양자화 계수가 DCT 계수로 변형된다. DCT 계수는 역DCT 유닛(IDCT 유닛)(39)으로 공급된다. IDCT(39)에서는 DCT 계수에 역 DCT가 적용되고, 결과의 데이터는 산술 유닛(40)으로 공급된다.
IDCT 유닛(39)의 출력 데이터에 부가하여, 상술된 바와 같이, 산술 유닛(33)에 공급된 예측 영상과 같은 데이터는 움직임 보상기(42)로부터 산술 유닛(40)에 공급된다. 산술 유닛(40)은 IDCT 유닛(39)의 출력 데이터(예측 잔류값(차이 데이터))와 움직임 보상기(42)의 예측 영상 데이터를 더하고, 그에 의해 원래 영상 데이터를 국부적으로 복호화한다. 국부적으로 복호화된 영상 데이터는 출력된다. (그러나, 예측 모드가 인트라 부호화 모드인 경우, IDCT(39)의 출력 데이터는 산술 유닛(40)을 통과하여 처리되지 않고 국부적으로 복호화된 영상 데이터로 프레임 메모리(41)에 공급된다.) 이 복호화 영상 데이터는 수신기측에서 구해지는 복호화 영상 데이터와 일치함을 주목한다.
산술 유닛(40)에서 얻어진 복호화 영상 데이터(국부적으로 복호화된 영상 데이터)는 프레임 메모리(41)로 공급되어 저장된다. 이어서, 복호화 영상 데이터는 인트라 부호화 (전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측 부호화)가 적용되는 영상에 대하여 기준 영상 데이터(기준 프레임)로 사용된다.
다음에, 도 2는 도 1의 인코더로부터 출력된 부호화 데이터를 복호화하는 MPEG 표준 시스템 중 MP@ML 디코더의 구성예를 도시한다.
전송 경로를 통해 전송된 부호화 비트열(부호화 데이터)이 수신기(도시 생략)에 의해 수신되거나, 저장 매체에 기록된 부호화 비트열(부호화 데이터)이 재발생기(도시 생략)에 의해 재생된다. 수신되거나 재생된 비트열은 버퍼(101)에 공급되어 저장된다.
역 VLC 유닛(IVLC 유닛)(가변 단어길이 디코더)(102)은 버퍼(101)에 저장된 부호화 데이터를 판독하여 가변길이 단어 복호화를 실행하고, 그에 의해 매크로블록 단위로 부호화 데이터를 움직임 벡터, 예측 모드, 양자화 스텝, 및 양자화 계수로 분리한다. 그들 중에서, 움직임 벡터와 예측 모드는 움직임 보상기(107)로 공급되고, 양자화 스텝 및 양자화 매크로블록 계수는 역양자화기(103)로 공급된다.
역양자화기(103)에서는 IVLC 유닛(102)으로부터 공급된 양자화 매크로블록 계수가 같은 IVLC 유닛(102)으로부터 공급된 양자화 스텝에 따라 역으로 양자화된다. 결과의 DCT 계수는 IDCT 유닛(104)으로 공급된다. IDCT(104)에서는 역양자화기(103)로부터 공급된 매크로블록 DCT 계수에 역DCT가 적용되고, 결과의 데이터는 산술 유닛(105)으로 공급된다.
IDCT 유닛(104)의 출력 데이터에 부가하여, 움직임 보상기(107)의 출력 데이터는 또한 산술 유닛(105)으로 공급된다. 즉, 움직임 보상기(107)에서는 도 1의 움직임 보상기(42)의 경우와 같이, 앞서 복호화되어 프레임 메모리(106)에 저장된 영상 데이터가 IVLC 유닛(102)으로부터 공급된 움직임 벡터 및 예측 모드에 따라 판독되고, 산술 유닛(105)에 예측 영상 데이터로 공급된다. 산술 유닛(105)은 IDCT 유닛(104)의 출력 데이터(예측 잔류값(차이값))와 움직임 보상기(107)의 예측 영상 데이터를 더하고, 그에 의해 원래 영상 데이터를 복호화한다. 이 복호화된 영상 데이터는 프레임 메모리(106)에 공급되어 저장된다. IDCT 유닛(104)의 출력 데이터가 인트라 부호화된 데이터인 경우에, 출력 데이터는 산술 유닛(105)을 통과하여 처리되지 않고 복호화된 영상 데이터로 프레임 메모리(106)에 공급됨을 주목한다.
프레임 메모리(106)에 저장된 복호화 영상 데이터는 다음에 복호화될 영상 데이터에 대한 기준 영상 데이터로 사용된다. 또한, 복호화 영상 데이터는 예를 들면, 디스플레이(도시 생략)로 공급되어 출력 재생 영상으로 디스플레이된다.
MPEG-1 표준 및 MPEG-2 표준에서는 B-화상이 기준 영상 데이터로 사용되지 않기 때문에, 인코더(도 1)내의 프레임 메모리(41) 및 디코더(도 2)내의 프레임 메모리(106)에 저장되지 않음을 주목한다.
도 1 및 도 2에 도시된 전술한 인코더 및 디코더는 MPEG-1/2 표준을 근거로 한다. 현재 영상을 구성하는 객체 시퀀스의 영상 객체(video object, VO) 단위로 비디오를 부호화하는 시스템은 ISO-IEC/JTC1/SC29/WG11에 의한 MPEG-4 표준으로 표준화되고 있다.
부수적으로, MPEG-4 표준은 통신 분야에서 주로 사용된다는 가정하에서 표준화되고 있으므로, 이는 MPEG-1/2 표준에서 규정된 화상의 그룹(GOP)을 규정하지 않는다. 그러므로, MPEG-4 표준이 저장 매체에서 사용되는 경우에, 효과적인 랜덤 억세스가 어려워진다.
본 발명은 이러한 환경에 때문에 이루어진 것이므로, 본 발명의 목적은 효과적인 랜덤 억세스를 가능하게 하고자 함이다.
본 발명에서 설명되는 영상 인코더는 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 그룹을 부호화하는 부호화 수단을 포함하는 것을 특징으로 한다.
본 발명에서 설명되는 영상 부호화 방법은 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 그룹을 부호화하는 부호화 단계를 포함하는 것을 특징으로 한다.
본 발명에서 설명되는 영상 인코더는 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 또한 그룹을 부호화함으로서 얻어진 부호화 비트열을 복호화하는 복호화 수단을 포함하는 것을 특징으로 한다.
본 발명에서 설명되는 영상 복호화 방법은 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 또한 그룹을 부호화함으로서 얻어진 부호화 비트열을 복호화하는 복호화 단계를 포함하는 것을 특징으로 한다.
본 발명에서 설명되는 배포 매체는 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 그룹을 부호화함으로서 얻어진 부호화 비트열을 제공하는 것을 특징으로 한다.
청구항 1에서 설명되는 영상 인코더는 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생하기 위한 초단위-정확도 시간 정보 발생 수단; 및 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보를 발생하기 위한 상세 시간 정보발생 수단을 포함하는 것을 특징으로 한다.
청구항 4에서 설명되는 영상 복호화 방법은 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생하기 위한 초단위-정확도 시간 정보 발생 수단; 및 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보를 발생하기 위한 상세 시간 정보발생 단계를 포함하는 것을 특징으로 한다.
청구항 7에서 설명되는 영상 디코더는 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 계산하는 디스플레이 시간 계산 수단을 포함하는 것을 특징으로 한다.
청구항 10에서 설명되는 영상 복호화 방법은 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 계산하는 디스플레이 시간 계산 단계를 포함하는 것을 특징으로 한다.
청구항 13에서 설명되는 배포 매체는 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생하고, 또한 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보를 발생하고, 또한 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 초단위-정확도 시간 정보와 상세한 시간 정보를 더함으로서 얻어진 부호화 비트열을 제공하는 것을 특징으로 한다.
도 1은 종래 인코더(encoder)의 구성예를 도시하는 블록도.
도 2는 종래 디코더(decoder)의 구성예를 도시하는 블록도.
도 3은 본 발명이 적용된 인코더 실시예의 구성예를 도시하는 블록도.
도 4는 영상 객체(VO)의 위치 및 크기가 시간에 따라 변하는 것을 설명하는 도면.
도 5는 도 3의 VOP 부호화부(31) 내지 (3N)의 구성예를 도시하는 블록도.
도 6은 공간상 스케일러빌리티(scalability)을 설명하는 도면.
도 7은 공간상 스케일러빌리티를 설명하는 도면.
도 8은 공간상 스케일러빌리티를 설명하는 도면.
도 9는 공간상 스케일러빌리티를 설명하는 도면.
도 10은 영상 객체 평면(VOP)의 크기 데이터 및 오프셋 데이터를 결정하는 방법을 설명하는 도면.
도 11은 도 5의 기본 계층 부호화부(25)의 구성예를 도시하는 블록도.
도 12는 도 5의 고위 계층 부호화부(23)의 구성예를 도시하는 블록도.
도 13은 공간상 스케일러빌리티를 설명하는 도면.
도 14는 시간 스케일러빌리티를 설명하는 도면.
도 15는 본 발명이 적용된 디코더 실시예의 구성예를 도시하는 블록도.
도 16은 도 15의 VOP 복호화부(721) 내지 (72N)의 또 다른 구성예를 도시하는 블록도.
도 17은 도 16의 기본 계층 복호화부(95)의 구성예를 도시하는 블록도.
도 18은 도 16의 고위 계층 복호화부(93)의 구성예를 도시하는 블록도.
도 19는 스케일러빌리티의 부호화에 의해 구해진 비트열의 구문(syntax)을 도시하는 도면.
도 20은 VS의 구문을 도시하는 도면.
도 21은 VO의 구문을 도시하는 도면.
도 22는 VOL의 구문을 도시하는 도면.
도 23은 VOP의 구문을 도시하는 도면.
도 24는 modulo_time_base와 VOP_time_increment 사이의 관계를 도시하는 도면.
도 25는 본 발명에 따른 비트열의 구문을 도시하는 도면.
도 26은 GOV의 구문을 도시하는 도면.
도 27은 time_code의 구성을 도시하는 도면.
도 28은 GOV층의 time_code와 GOV의 제 1 I-VOP의 modulo_time_base 및 VOP_time_increment를 부호화하는 방법을 도시하는 도면.
도 29는 GOV층의 time_code와 GOV의 제 1 I-VOP 이전에 위치하는 B_VOP의 modulo_time_base 및 VOP_time_increment를 부호화하는 방법을 도시하는 도면.
도 30은 그에 대한 정의가 변하지 않을 때 modulo_time_base와 VOP_time_increment 사이의 관계를 도시하는 도면.
도 31은 제 1 방법을 근거로, B-VOP의 modulo_time_base 및 VOP_time_increment를 부호화하는 처리를 도시하는 도면.
도 32는 제 1 방법 및 제 2 방법을 근거로, I/P-VOP의 modulo_time_base 및 VOP_time_increment를 부호화하는 처리를 도시하는 흐름도.
도 33은 제 1 방법을 근거로, B-VOP의 modulo_time_base 및 VOP_time_increment를 부호화하는 처리를 도시하는 흐름도.
도 34는 제 1 및 제 2 방법으로 부호화된 I/P-VOP의 modulo_time_base 및 VOP_time_increment를 복호화하는 처리를 도시하는 흐름도.
도 35는 제 1 방법으로 부호화된 B-VOP의 modulo_time_base 및 VOP_time_increment를 복호화하는 처리를 도시하는 흐름도.
도 36은 제 2 방법을 근거로, B-VOP의 modulo_time_base 및 VOP_time_increment를 부호화하는 처리를 도시하는 도면.
도 37은 제 2 방법을 근거로, B-VOP의 modulo_time_base 및 VOP_time_increment를 부호화하는 처리를 도시하는 흐름도.
도 38은 제 2 방법으로 부호화된 B-VOP의 modulo_time_base 및 VOP_time_increment를 복호화하는 처리를 도시하는 흐름도.
도 39는 modulo_time_base를 설명하는 도면.
도 40은 본 발명이 적용된 인코더 및 디코더의 또 다른 실시예의 구성예를 도시하는 블록도.
*도면의 주요부분에 대한 부호의 설명
21:영상 계층화부 25: 기본 계층 부호화부
23:고위계층 부호화부 24:해상도 변형부
본 발명에서 설명되는 영상 인코더에서, 부호화 수단은 영상을 구성하는 하나 이상의 층의 각 객체를 다수의 그룹으로 분할하고 그룹을 부호화한다.
본 발명에서 설명되는 영상 부호화 방법에서, 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스는 다수의 그룹으로 분할되고, 그룹은 부호화된다.
본 발명에서 설명되는 영상 인코더에서, 복호화 수단은 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 또한 그룹을 부호화함으로서 얻어진 부호화 비트열을 복호화한다.
본 발명에서 설명되는 영상 복호화 방법에서, 영상을 구성하는 하나 이상의 층의 각 객체를 다수의 그룹으로 분할하고 또한 그룹을 부호화함으로서 얻어진 부호화 비트열은 복호화된다.
본 발명에서 설명되는 배포 매체에서, 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 그룹을 부호화함으로서 얻어진 부호화 비트열은 제공된다.
청구항 1에서 설명되는 영상 인코더에서, 초단위-정확도 시간 정보 발생 수단은 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생하고, 상세 시간 정보발생 수단은 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보를 발생한다.
청구항 4에서 설명되는 영상 부호화 방법에서, 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보가 발생되고; 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보가 발생된다.
청구항 7에서 설명되는 영상 디코더에서, 디스플레이 시간 계산 수단은 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 계산한다.
청구항 10에서 설명되는 영상 복호화 방법에서, I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간은 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 계산된다.
청구항 13에서 설명되는 배포 매체에서, 매체는 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생하고, 또한 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보를 발생하고, 또한 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 초단위-정확도 시간 정보와 상세한 시간 정보를 더함으로서 얻어진 부호화 비트열을 제공한다.
이후에는 본 발명의 실시예가 도면을 참고로 설명된다. 그전에, 다음의 실시예와 청구항에서 설명되는 본 발명의 각 수단 사이의 대응 관계를 명확하게 하기 위해, 이후에는 각 수단 다음의 괄호내에 대응하는 실시예를 부가함으로서 본 발명의 특징이 상세히 설명된다. 대응하는 실시예는 단순히 한 예이다.
즉, 본 발명에서 설명되는 영상 인코더는 영상을 부호화하고 결과의 부호화 비트열을 출력하는 영상 인코더로서, 영상을 수신하는 수신 수단(예를 들면, 도 11 또는 도 12에 도시된 프레임 메모리(31) 등); 및 영상을 구성하는 하나 이상의 층의 각 객체를 다수의 그룹을 분할하고 그룹을 부호화하는 부호화 수단(예를 들면, 도 11 또는 도 12에 도시된 VLC 유닛(36) 등)을 포함하는 것을 특징으로 한다.
본 발명에서 설명되는 영상 인코더는 인트라 부호화(intracoding)에 의해 부호화된 객체가 인트라-영상 객체 평면(intra-video object plane, I-VOP)이고, 인트라 부호화 또는 전방 예측 부호화에 의해 부호화된 객체가 예측-VOP(P-VOP)이고, 또한 인트라 부호화, 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측 부호화에 의해 부호화된 객체가 양방향 예측-VOP(B-VOP)라 가정할 때, 부호화를 시작한 초단위-정확도 절대 시간을 근거로 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생하기 위한 초단위-정확도 시간 정보 발생 수단(예를 들면, 도 32에 도시된 프로그램에서 처리 단계(S3) 내지 (S7), 도 37에 도시된 프로그램에서 처리 단계(S43) 내지 (S47) 등); 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 객체 그룹내에 포함된 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보를 발생하기 위한 상세 시간 정보발생 수단(예를 들면, 도 32에 도시된 프로그램에서 처리 단계(S8), 도 37에 도시된 프로그램에서 처리 단계(S48) 등); 및 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 초단위-정확도 시간 정보와 상세한 시간 정보를 더하는 부가 수단(예를 들면, 도 11 또는 도 12에 도시된 VLC 유닛(36) 등)을 포함하는 것을 특징으로 한다.
본 발명에서 설명되는 영상 디코더는 영상을 복호화하는 영상 디코더로서, 영상을 구성하는 하나 이상의 층의 각 객체를 다수의 그룹으로 분할하고 또한 그룹을 부호화함으로서 얻어진 부호화 비트열을 수신하는 수신 수단(예를 들면, 도 17 또는 도 18에 도시된 버퍼(101) 등); 및 부호화된 비트열을 복호화하는 복호화 수단(예를 들면, 도 17 또는 도 18에 도시된 IVLC 유닛(102) 등)을 포함하는 것을 특징으로 한다.
본 발명에서 설명되는 영상 디코더는 객체의 그룹이 부호화를 시작했던 영상 시퀀스에 대한 절대시간이고 1초의 정확도내의 시간인 부호화 시작 초단위-정확도 절대시간을 포함하고, 부호화 시작 초단위-정확도 절대시간을 근거로 객체의 그룹에 포함된 객체의 디스플레이 시간을 계산하는 디스플레이 시간 계산 수단(예를 들면, 도 34에 도시된 프로그램에서 처리 단계(S22) 내지 (S27), 도 38에 도시된 프로그램에서 처리 단계(S52) 내지 (S57) 등)을 더 포함하는 것을 특징으로 한다.
청구항 1에서 설명되는 영상 인코더는 영상을 구성하는 각 객체에 대한 영상을 부호화하고 결과의 부호화 비트열을 출력하는 영상 인코더에서, 인트라 부호화에 의해 부호화된 객체가 인트라-영상 객체 평면(I-VOP)이고, 인트라 부호화 또는 전방 예측 부호화에 의해 부호화된 객체가 예측-VOP(P-VOP)이고, 또한 인트라 부호화, 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측 부호화에 의해 부호화된 객체가 양방향 예측-VOP(B-VOP)라 가정할 때, 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생하기 위한 초단위-정확도 시간 정보 발생 수단(예를 들면, 도 32에 도시된 프로그램에서 처리 단계(S3) 내지 (S7), 도 37에 도시된 프로그램에서 처리 단계(S43) 내지 (S47) 등); 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보를 발생하기 위한 상세 시간 정보발생 수단(예를 들면, 도 32에 도시된 프로그램에서 처리 단계(S8), 도 37에 도시된 프로그램에서 처리 단계(S48) 등); 및 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 초단위-정확도 시간 정보와 상세한 시간 정보를 더하는 부가 수단(예를 들면, 도 11 또는 도 12에 도시된 VLC 유닛(36) 등)을 포함하는 것을 특징으로 한다.
청구항 7에서 설명되는 영상 디코더는 영상을 구성하는 각 객체에 대한 영상을 부호화함으로서 얻어진 부호화 비트열을 복호화하는 영상 디코더에서, 인트라 부호화에 의해 부호화된 객체가 인트라-영상 객체 평면(I-VOP)이고, 인트라 부호화 또는 전방 예측 부호화에 의해 부호화된 객체가 예측-VOP(P-VOP)이고, 또한 인트라 부호화, 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측 부호화에 의해 부호화된 객체가 양방향 예측-VOP(B-VOP)라 가정하고, 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보 및 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보가 모두 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 부가될 때, 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 I-VOP, B-VOP, 또는 B-VOP의 디스플레이 시간을 계산하는 디스플레이 시간 계산 수단(예를 들면, 도 34에 도시된 프로그램에서 처리 단계(S22) 내지 (S27), 도 38에 도시된 프로그램에서 처리 단계(S52) 내지 (S57) 등); 및 대응하는 디스플레이 시간에 따라 I-VOP, P-VOP, 또는 B-VOP를 복호화하는 복호화 수단(예를 들면, 도 17 또는 도 18에 도시된 IVLC 유닛(102) 등)을 포함하는 것을 특징으로 한다.
물론, 이 설명은 각 수단이 상술된 것에 제한됨을 의미하는 것이 아님을 주목한다.
도 3은 본 발명이 적용된 인코더의 실시예의 구성예를 도시한다.
VO(video object) 구성부(1)에는 부호화될 영상(동적 영상) 데이터가 입력된다. VO 구성부(1)에서, 영상은 각 객체에 대해 VO의 시퀀스로 구성된다. VO의 시퀀스는 VOP 구성부(21) 내지 (2N)로 출력된다. 즉, VO 구성부(1)에서 N개의 영상 객체(VO#1 내지 VO#N)이 주어지는 경우, VOP 구성부(21) 내지 (2N)에는 각각 (VO#1) 내지 (VO#N)이 출력된다.
특히, 예를 들면, 부호화될 영상 데이터가 독립적인 배경(F1)과 전경(F2)의 시퀀스로 구성될 때, VO 구성부(1)는 예를 들면 전경(F2)을 VOP 구성부(21)에 (VO#1)으로 출력하고, 또한 배경(F1)을 VOP 구성부(22)에 (VO#2)로 출력한다.
부호화될 영상 데이터가 예를 들어 배경(background)(F1)과 전경(foreground)(F2)으로 미리 합성된 영상인 경우에, VO 구성부(1)는 소정의 알고리즘에 따라 그 영상을 배경(F1)과 전경(F2)으로 분할함을 주목한다. 배경(F1)과 전경(F2)은 대응하는 VOP 구성부(2n)(여기서, n = 1, 2, ..., 및 N)로 출력된다.
VOP 구성부(2n)는 VO 구성부(1)의 출력으로부터 VO 평면(VOP)을 만든다. 즉, 예를 들어, 각 프레임으로부터 객체가 추출된다. 예를 들면, 객체를 둘러싸는 최소 직사각형(이후 필요한 경우에 최소 직사각형이라 칭하여지는)이 VOP로 취해진다. 이때, VOP 구성부(2n)는 수평방향 픽셀의 수와 수직방향 픽셀의 수가 16의 배수이도록 VOP를 만듬을 주목한다. VO 구성부(2n)가 VOP를 만들면, VOP는 각각 VOP 부호화부(3n)로 출력된다.
또한, VOP 구성부(2n)는 VOP의 크기를 나타내는 크기 데이터(VOP 크기) 및 프레임(예를 들면, 프레임의 좌측 최상단이 원점으로 한 좌표)에서 VOP의 위치(예를 들면, 수평방향 및 수직방향 길이)를 나타내는 오프셋(offset) 데이터(VOP 오프셋)을 검출한다. 크기 데이터와 오프셋 데이터는 또한 VOP 부호화부(3n)로 공급된다.
VOP 부호화부(3n)는 예를 들면, MPEG 표준 또는 H.263 표준을 근거로 하는 방법에 의해 VOP 구성부(2n)의 출력을 부호화한다. 결과의 비트열은 VOP 부호화부(31) 내지 (3N)로부터 얻어진 비트열을 다중화하는 다중화부(4)로 출력된다. 다중화된 결과의 데이터는 지상파를 통해, 또는 위성선, CATV 네트워크 등과 같은 전송 경로를 통해 전송된다. 다른 방법으로, 다중화된 데이터는 자기 디스크, 자기 광학 디스크, 광학 디스크, 자기 테이프 등과 같은 저장 매체(6)에 기록된다.
여기서는 영상 객체(VO) 및 영상 객체 평면(VOP)에 대한 설명이 이루어진다.
합성된 영상의 경우에서, 합성 영상을 구성하는 각 영상은 VO로 칭하여지고, VOP는 특정한 시간에서의 VO를 의미한다. 즉, 예를 들면, 영상(F1)과 (F2)로 구성된 합성 영상(F3)의 경우에, 영상(F1) 및 (F2)가 시간렬 방식으로 배열될 때, 이들은 VO이다. 특정한 시간에서의 영상(F1) 또는 (F2)는 VOP이다. 그러므로, VO는 다른 시간에 같은 객체의 VOP 세트라 말할 수 있다.
예를 들어, 영상(F1)이 배경이고 또한 영상(F2)이 전경이라 가정하면, 합성 영상(F3)은 영상(F2)을 추출하기 위한 키(key) 신호로 영상(F1)과 (F2)를 합성함으로서 얻어진다. 이 경우에 영상(F2)의 VOP는 영상(F2)을 구성하는 영상 데이터(휘도 신호 및 색차 신호)에 부가하여 키 신호를 포함한다고 가정한다.
영상 프레임은 크기와 위치 모두에서 변하지 않지만, VO의 크기나 위치가 변하는 경우가 있다. 즉, VOP가 같은 VO를 구성하는 경우라도, 크기나 위치가 시간에 따라 변하는 경우가 있다.
특히, 도 4는 영상(F1)(배경)과 영상(F2)(전경)으로 구성된 합성 영상을 도시한다.
예를 들어, 영상(F1)은 특정한 자연 화면을 촬영하여 얻어진 영상이고 전체 영상은 단일 VO (예를 들면, VO#0)인 것으로 가정한다. 또한, 영상(F2)은 걷고 있는 사람을 촬영하여 얻어진 영상이고 그 사람을 둘러싼 최소 직사각형이 단일 VO (예를 들면, VO#1)인 것으로 가정한다.
이 경우에, (VO#0)은 화면의 영상이므로, 정상적인 영상 프레임에서와 같이기본적으로 위치 및 크기가 모두 변하지 않는다. 한편, (VO#1)은 사람의 영상이므로, 도 4에서 사람이 좌우측으로 이동하거나 앞쪽으로 또는 뒤쪽으로 이동하면, 위치나 크기가 변하게 된다. 그러므로, 도 4는 (VO#0)과 (VO#1)을 동시에 도시하지만, VO의 위치나 크기가 시간에 따라 변하는 경우가 있다.
그래서, 도 3의 VOP 부호화부(3n)의 출력 비트열은 부호화된 VOP를 나타내는 데이터에 소정의 절대 좌표계상에서 VOP의 위치(좌표) 및 크기에 대한 정보를 부가하여 포함한다. 도 4에서는 특정한 시간에 (VO#0)(영상 F1)의 VOP 위치를 나타내는 벡터가 (OST0)으로 나타내지고 특정한 시간에 (VO#1)(영상 F2)의 VOP 위치를 나타내는 벡터가 (OST1)로 나타내짐을 주목한다.
다음에, 도 5는 스케일러빌리티(scalability)을 실현하는 도 3의 VOP 부호화부(3n)의 구성예를 도시한다. 즉, MPEG 표준은 다른 영상 크기 및 프레임 비율을 처리하는 스케일러빌리티를 실현하는 가변 분해 능력의 부호화 방법을 제시한다. 도 5에 도시된 VOP 부호화부(3n)는 이러한 스케일러빌리티가 실현될 수 있도록 구성된다.
VOP 구성부(2n)로부터의 VOP(영상 데이터), 크기 데이터(VOP 크기), 및 오프셋 데이터(VOP 오프셋)는 모두 영상 계층화(layer)부(21)에 공급된다.
영상 계층화부(21)는 VOP로부터 하나 이상의 층의 영상 데이터를 발생한다(VOP의 계층화가 실행된다). 즉, 예를 들면, 공간상의 스케일러빌리티의 부호화를 실행하는 경우에, 영상 계층화부(21)에 그대로 입력된 영상 데이터는 영상 데이터의 고위 계층(enhanced layer)으로 출력된다. 동시에, 영상 데이터를 구성하는 픽셀의 수는 픽셀을 세선화시킴으로서 감소되고(해상도가 감소된다), 픽셀의 수가 줄여진 영상 데이터는 영상 데이터의 기본 계층(base layer)으로 출력된다.
입력 VOP는 데이터의 기본 계층으로 사용될 수 있고, 또한 일부 다른 방법에 의해 픽셀수(해상도)가 증가된 VOP는 데이터의 고위 계층으로 사용될 수도 있음을 주목한다.
부가하여, 비록 층의 수가 1로 이루어질 수 있지만, 이 경우는 스케일러빌리티를 실현할 수 없다. 이 경우에는 VOP 부호화부(3n)가 예를 들면, 기본 계층 부호화부(25)만으로 이루어진다.
또한, 층의 수는 3 이상으로 이루어질 수 있다. 그러나, 본 실시예에서는 간략하게 2개 층의 경우가 설명된다.
예를 들어, 시간상 스케일러빌리티의 부호화를 실행하는 경우에, 영상 계층화부(21)는 영상 데이터를, 예를 들면 시간에 대응하여 기본 계층 데이터나 고위 계층 데이터로 번갈아 출력한다. 즉, 예를 들어, 특정한 VO를 구성하는 VOP가 VOP0, VOP1, VOP2, VOP3, ...의 순서로 입력된다고 가정할 때, 영상 계층화부(21)는 기본 계층 데이터로 VOP0, VOP2, VOP4, VOP6, ...을 출력하고, 고위 계층 데이터로 VOP1, VOP3, VOP5, VOP7, ...을 출력한다. 시간상 스케일러빌리티의 경우에, 이와 같이 세선화된 VOP는 단순히 기본 계층 데이터 및 고위 계층 데이터로 출력되고 영상 데이터의 확대 또는 감소(해상도 변환)는 실행되지 않음을 주목한다(그러나, 확대나 감소를 실행하는 것이 가능하다).
또한, 예를 들어, 시간 대 잡음비(SNR) 스케일러빌리티의 부호화를 실행하는 경우에, 영상 계층화부(21)에 그대로 입력되는 영상 데이터는 고위 계층 데이터나 기본 계층 데이터로 출력된다. 즉, 이 경우에는 기본 계층 데이터와 고위 계층 데이터가 서로 일치한다.
여기서, 각 VOP에 대한 부호화 동작을 실행하는 경우에서의 공간상 스케일러빌리티로는 예를 들면, 다음의 3 종류가 있다.
즉, 예를 들어 도 4에 도시된 것과 같이 영상(F1)과 (F2)로 구성된 합성 영상이 VOP로 입력되면, 제 1 공간상의 스케일러빌리티에서는 도 6에 도시된 바와 같이, 입력된 전체 VOP(도 6(A))가 고위 계층으로 취해지고 감소된 전체 VOP(도 6(B))가 기본 계층으로 취해진다.
또한, 제 2 공간상의 스케일러빌리티에서는 도 7에 도시된 바와 같이, 입력 VOP의 일부를 구성하는 객체(도 7(A)(영상 F2에 대응하는))가 추출된다. 추출된 객체는 고위 계층으로 취해지고, 감소된 전체 VOP(도 7(B))는 기본 계층으로 취해진다. (이러한 추출은 예를 들면, VOP 구성부(2n)의 경우에서와 같은 방식으로 실행된다. 그러므로, 추출된 객체는 또한 단일 VOP이다.)
또한, 제 3 스케일러빌리티에서는 도 8 및 도 9에 도시된 바와 같이, 입력 VOP를 구성하는 객체(VOP)가 추출되고, 각 객체에 대해 고위 계층 및 기본 계층이 발생된다. 도 8은 도 4에 도시된 VOP를 구성하는 배경(영상 F1)으로부터 발생된 고위 계층 및 기본 계층을 도시하고, 도 9는 도 4에 도시된 VOP를 구성하는 전경(영상 F2)으로부터 발생된 고위 계층 및 기본 계층을 도시함을 주목한다.
상술된 스케일러빌리티 중 어느 것이 사용되는가는 미리 결정된다. 영상 계층화부(21)는 소정의 스케일러빌리티에 따라 부호화가 실행될 수 있도록 VOP의 계층화를 실행한다.
또한, 영상 계층화부(21)는 입력 VOP의 크기 데이터와 오프셋 데이터로부터 발생된 기본 계층 및 고위 계층의 크기 데이터와 오프셋 데이터를 계산(또는 결정)한다(이후 필요한 경우에 각각 초기 크기 데이터 및 초기 오프셋 데이터라 칭하여지는). 오프셋 데이터는 VOP의 소정의 절대 좌표계에서 기본 계층 또는 고위 계층의 위치를 나타내고, 크기 데이터는 기본 계층 또는 고위 계층의 크기를 나타낸다.
여기서는 예를 들어, 상술된 제 2 스케일러빌리티(도 7)이 실행되는 경우에, 기본 계층 및 고위 계층내 VOP의 오프셋 데이터(위치 정보)와 크기 데이터를 결정하는 방법이 설명된다.
이 경우에는 예를 들어 도 10(A)에 도시된 바와 같이, 기본 계층의 해상도와 고위 계층의 해상도 사이의 차이를 근거로 기본 계층내의 영상 데이터가 확대(업샘플링(upsampling))될 때, 즉 고위 계층내의 영상 크기와 일치하도록 하는(기본 계층내의 영상으로의 역확대비의 역수가 고위 계층내의 영상을 감소시킴으로서 발생되는) 확대비(이후 필요한 경우에 확대비(FR)이라 칭하여지는)로 기본 계층내의 영상이 확대될 때, 절대 좌표계에서 확대된 영상의 오프셋 데이터가 초기 오프셋 데이터와 일치하도록 기본 계층의 오프셋 데이터(FPOS_B)가 결정된다. 기본 계층의 크기 데이터(FSZ_B)는 유사하게, 기본 계층내의 영상이 확대비(FR)로 확대될 때 얻어진 확대 영상의 크기 데이터가 초기 크기 데이터와 일치하도록 결정된다. 즉,오프셋 데이터(FPOS_B)는 이것이 그 자체의 FR배가 되도록, 또는 초기 오프셋 데이터와 일치하도록 결정된다. 또한, 크기 데이터(FSZ_B)도 같은 방식으로 결정된다.
한편, 고위 계층의 오프셋 데이터(FPOS_E)에 대해, 예를 들어 입력된 VOP로부터 추출된 객체를 둘러싼 최소 직사각형(VOP)의 좌측 상단 모서리의 좌표는 도 10(B)에 도시된 바와 같이 초기 오프셋 데이터를 근거로 계산되고, 이 값이 오프셋 데이터(FPOS_E)로 결정된다. 또한, 고위 계층의 크기 데이터(FSZ_E)는 예를 들면, 입력된 VOP로부터 추출된 객체를 둘러싼 최소 직사각형의 수평방향 및 수직방향 길이로 결정된다.
그러므로, 이 경우에는 기본 계층의 오프셋 데이터(FPOS_B) 및 크기 데이터(FSZ_B)가 먼저 확대비(FR)에 따라 변형된다. (변형 이후의 오프셋 데이터(FPOS_B) 및 크기 데이터(FSZ_B)는 각각 변형 오프셋 데이터(FPOS_B) 및 변형 크기 데이터(FSZ_B)라 칭하여진다.) 절대 좌표계에서 변형 오프셋 데이터(FPOS_B)에 대응하는 위치에서는 변형 크기 데이터(FSZ_B)에 대응하는 크기의 영상 프레임이 고려된다. 기본 계층내의 영상 데이터를 FR배 만큼 확대하여 구한 확대 영상이 소정의 대응 위치로 배열되고(도 10(A)), 또한 고위 계층내의 영상이 유사하게 고위 계층의 오프셋 데이터(FPOS_E) 및 크기 데이터(FSZ_E)에 따라 절대 좌표계에 배열되면(도 10(B)), 확대 영상을 구성하는 픽셀과 고위 계층내의 영상을 구성하는 픽셀은 서로 대응하는 픽셀이 같은 위치에 놓이도록 배열된다. 즉, 예를 들어 도 10에서, 고위 계층내의 사람과 확대 영상내의 사람은 같은 위치에 배열된다.
제 1 스케일러빌리티 및 제 3 스케일러빌리티의 경우에서도, 오프셋 데이터(FPOS_B), 오프셋 데이터(FPOS_E), 크기 데이터(FSZ_B), 및 크기 데이터(FSZ_E)는 유사하게 기본 계층내의 확대 영상과 고위 계층내의 영상을 구성하는 서로 대응하는 픽셀이 절대 좌표계에서 같은 위치에 놓이도록 결정된다.
다시 도 5를 참고로, 영상 계층화부(21)에서 발생되는 고위 계층내의 영상 데이터, 오프셋 데이터(FPOS_E), 및 크기 데이터(FSZ_E)는 추후 설명될 기본 계층 부호화부(25)의 처리 주기 만큼 지연 회로(22)에 의해 지연되어 고위 계층 부호화부(23)로 공급된다. 또한 기본 계층내의 영상 데이터, 오프셋 데이터(FPOS_B), 및 크기 데이터(FSZ_B)는 기본 계층 부호화부(25)로 공급된다. 부가하여, 확대비(FR)는 지연 회로(22)를 통해 고위 계층 부호화부(23)와 해상도 변형부(24)로 공급된다.
기본 계층 부호화부(25)에서는 기본 계층내의 영상 데이터가 부호화된다. 결과의 부호화 데이터(비트열)는 오프셋 데이터(FPOS_B)와 크기 데이터(FSZ_B)를 포함하고 다중화부(26)로 공급된다.
또한, 기본 계층 부호화부(25)는 부호화된 데이터를 국부적으로 복호화하고, 국부적으로 복호화된 기본 계층내의 영상 데이터를 해상도 변형부(24)로 출력한다. 해상도 변형부(24)에서는 확대비(FR)에 따라 영상 데이터를 확대(또는 축소)함으로서 기본 계층 부호화부(25)로부터의 기본 계층내 영상 데이터가 원래 크기로 복귀된다. 결과의 확대 영상은 고위 계층 부호화부(23)로 출력된다.
한편, 고위 계층 부호화부(23)에서는 고위 계층내의 영상 데이터가 부호화된다. 결과의 부호화 데이터(비트열)는 오프셋 데이터(FPOS_E)와 크기 데이터(FSZ_E)를 포함하고 다중화부(26)로 공급된다. 고위 계층 부호화부(23)에서는 해상도 변형부(24)로부터 공급된 확대 영상을 기준 영상으로 사용하여 고위 계층 영상 데이터의 부호화를 실행함을 주목한다.
다중화부(26)는 고위 계층 부호화부(23)와 기본 계층 부호화부(25)의 출력을 다중화하고, 다중화된 비트열을 출력한다.
기본 계층의 크기 데이터(FSZ_B), 오프셋 데이터(FPOS_B), 움직임 벡터(MV), 플래그(COD) 등은 기본 계층 부호화부(25)에서 고위 계층 부호화부(23)로 공급되고, 고위 계층 부호화부(23)는 필요한 경우 공급된 데이터를 기준으로 하여 처리 과정을 실행하도록 구성됨을 주목한다. 상세한 내용은 추후 기술된다.
다음에, 도 11은 도 5의 기본 계층 부호화부(25)의 상세한 구성예를 도시한다. 도 11에서, 도 1에 대응하는 부분에는 같은 참고 번호가 적용된다. 즉, 기본적으로 기본 계층 부호화부(25)는 도 1의 인코더와 같이 구성된다.
도 1과 같이, 영상 계층화부(21)(도 5)로부터의 영상 데이터, 즉 기본 계층내의 VOP는 프레임 메모리(31)에 공급되어 저장된다. 움직임 벡터 검출기(32)에서는 움직임 벡터가 매크로블록(macroblock) 단위로 검출된다.
그러나, 기본 계층의 VOP에 대한 크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)는 기본 계층 부호화부(25)의 움직임 벡터 검출기(32)로 공급되어, 사실상 공급된 크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)를 근거로 매크로블록의 움직임 벡터를 검출한다.
즉, 상술된 바와 같이, VOP의 크기 및 위치는 시간(프레임)에 따라 변한다. 그러므로, 움직임 벡터를 검출할 때는 검출을 위한 기준 좌표계를 설정하고 그 좌표계에서 움직임을 검출할 필요가 있다. 그래서, 여기서는 움직임 벡터 검출기(32)에서, 상술된 절대 좌표계가 기준 좌표계로 사용되고, 부호화되는 VOP와 기준 VOP는 크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)에 따라 절대 좌표계에서 배열되고, 그에 의해 움직임 벡터가 검출된다.
검출된 움직임 벡터(MV)는 예측 모드와 함께 VLC 유닛(36) 및 움직임 보상기(42)로 공급되고, 또한 고위 계층 부호화부(23)(도 5)로 공급됨을 주목한다.
움직임 보상을 실행하는 경우라도, 또한 상술된 바와 같이 기준 좌표계에서 움직임을 검출할 필요가 있다. 그러므로, 움직임 보상기(42)에는 크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)가 공급된다.
움직임 벡터가 검출된 VOP는 도 1의 경우에서와 같이 양자화되고, 양자화된 계수는 VLC 유닛(36)으로 공급된다. 또한, 도 1의 경우에서와 같이, VLC 유닛(36)에는 양자화된 계수, 양자화 스텝, 움직임 벡터, 및 예측 모드에 부가하여 영상 계층화부(21)로부터의 크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)가 공급된다. VLC 유닛(36)에서는 공급된 데이터가 가변 단어길이 부호화에 의해 부호화된다.
상술된 부호화에 부가하여, 움직임 벡터가 검출된 VOP는 도 1의 경우에서와 같이 국부적으로 복호화되어 프레임 메모리(41)에 저장된다. 복호화된 이 영상은 상술된 바와 같이 기준 영상으로 사용되고, 또한 해상도 변형부(24)(도 5)로 출력된다.
MPEG-1 표준 및 MPEG-2 표준과 다르게, MPEG-4 표준에서는 B-화상(B-VOP)도 또한 기준 영상으로 사용됨을 주목한다. 이러한 이유로, B-화상은 또한 국부적으로 복호화되어 프레임 메모리(41)에 저장된다. (그러나, B-화상은 현재 고위 계층에서만 기준 영상으로 사용된다.)
한편, 도 1에 설명된 바와 같이, VLC 유닛(36)은 I-화상, P-화상, 또는 B-화상 (I-VOP, P-VOP, 또는 B-VOP)내의 매크로블록이 스킵(skip) 매크로블록으로 이어졌는가 여부를 결정한다. VLC 유닛(36)은 결정 결과를 나타내는 플래그(COD) 및 (MODB)를 설정한다. 플래그(COD) 및 (MODB)는 또한 가변 단어길이 부호화에 의해 부호화되어 전송된다. 또한, 플래그(COD)는 고위 계층 부호화부(23)로 공급된다.
다음에, 도 12는 도 5의 고위 계층 부호화부(23)의 구성예를 도시한다. 도 12에서, 도 11 또는 도 1에 대응하는 부분에는 같은 참고 번호가 적용된다. 즉, 기본적으로 고위 계층 부호화부(23)는 프레임 메모리(52)가 새롭게 제공된 것을 제외하면 도 11의 기본 계층 부호화부(25)나 도 1의 인코더와 같이 구성된다.
도 1의 경우에서와 같이, 영상 계층화부(21)(도 5)로부터의 영상 데이터, 즉 고위 계층의 VOP는 프레임 메모리(31)에 공급되어 저장된다. 움직임 벡터 검출기(32)에서는 움직임 벡터가 매크로블록 단위로 검출된다. 이 경우에서도 도 11의 경우에서와 같이, 고위 계층의 VOP 등에 부가하여 움직임 벡터 검출기(32)에는 크기 데이터(FSZ_E)와 오프셋 데이터(FPOS_E)가 공급된다. 움직임 벡터 검출기(32)에서는 상술된 경우에서와 같이, 절대 좌표계에 배열된 고위 계층의 VOP 위치가 크기 데이터(FSZ_E)와 오프셋 데이터(FPOS_E)를 근거로 인식되고, 매크로블록의 움직임 벡터가 검출된다.
여기서, 고위 계층 부호화부(23)의 움직임 벡터 검출기(32)와 기본 계층 부호화부(25)의 움직임 벡터 검출기(32)에서는 도 1에서 설명된 바와 같이, VOP가 소정의 시퀀스에 따라 처리된다. 예를 들면, 시퀀스는 다음과 같이 설정된다.
즉, 공간상 스케일러빌리티의 경우에서는 도 13(A) 또는 도 13(B)에 도시된 바와 같이, 고위 계층 또는 기본 계층내의 VOP가 예를 들면 P, B, B, B, ... 또는 I, P, P, P, ...의 순서로 처리된다.
이 경우에서는 고위 계층내의 제 1 P-화상(P-VOP)이 예를 들면, P-화상과 동시에 주어진 기본 계층의 VOP(여기서는 I-화상(I-VOP))를 기준 영상으로 사용함으로서 부호화된다. 또한, 고위 계층내의 제 2 B-화상(B-VOP)은 예를 들면, 그 화상 직전에 있는 고위 계층내의 화상 및 B-화상과 동시에 주어진 기본 계층내의 VOP를 기준 영상으로 사용함으로서 부호화된다. 즉, 본 예에서는 기본 계층내의 P-화상과 같이, 고위 계층내의 B-화상이 또 다른 VOP를 부호화하는데 기준 영상으로 사용된다.
기본 계층에서, 부호화는 예를 들면, MPEG-1 표준, MPEG-2 표준, 또는 H.263 표준의 경우에서와 같이 실행된다.
SNR 스케일러빌리티는 공간상 스케일러빌리티의 확대비(FR)가 1일 때의 공간상 스케일러빌리티와 같기 때문에 상술된 공간상 스케일러빌리티와 같은 방식으로 처리된다.
시간상 스케일러빌리티의 경우, 예를 들면 VO가 VOP0, VOP1, VOP2, VOP3,...으로 구성되고, 또한 상술된 바와 같이 VOP1, VOP3, VOP5, VOP7, ...이 고위 계층(도 14(A))으로 취해지고 VOP0, VOP2, VOP4, VOP6, ...이 기본 계층(도 14(B))으로 취해지는 경우, 고위 계층 및 기본 계층내의 VOP는 도 14에 도시된 바와 같이 각각 B, B, B, ... 의 순서 및 I, P, P, P, ...의 순서로 처리된다.
이 경우에서는 고위 계층내의 제 1 VOP1(B-화상)이 예를 들면, 기본 계층내의 VOP0(I-화상)과 VOP2(P-화상)을 기준 영상으로 사용함으로서 부호화된다. 고위 계층내의 제 2 VOP3(B-화상)은 예를 들면, 그 화상 직전에 있는 고위 계층내의 제 1 부호화 VOP1(B-화상) 및 VOP3의 다음 시간(프레임)에 주어지는 기본 계층내의 VOP4(P-화상)을 기준 영상으로 사용함으로서 부호화된다. VOP3의 부호화와 같이, 고위 계층내의 제 3 VOP5(B-화상)는 예를 들면, 그 화상 직전에 있는 고위 계층내의 제 2 부호화 VOP3(B-화상) 및 VOP5의 다음 시간(프레임)에 주어지는 영상인 기본 계층내의 VOP6(P-화상)을 기준 영상으로 사용함으로서 부호화된다.
상술된 바와 같이, 한 층(여기서는 고위 계층)내의 VOP에 대해, 또 다른 층(스케일러빌리티의 층)(여기서는 기본 계층)내의 VOP는 P-화상 및 B-화상을 부호화하기 위한 기준 영상으로 사용될 수 있다. 한 층내의 VOP가 이와 같이 또 다른 층내의 VOP를 기준 영상으로 사용함으로서 부호화되는 경우에, 즉 본 실시예와 같이, 기본 계층내의 VOP가 고위 계층내의 VOP를 예측하여 부호화하는데 기준 영상으로 사용되는 경우에, 고위 계층 부호화부(23)(도 12)의 움직임 벡터 검출기(32)는 기본 계층내의 VOP가 고위 계층내의 VOP를 예측하여 부호화하는데 사용됨을 나타내는 플래그(ref_layer_id)를 설정하여 출력하도록 구성된다. (층이 3개 이상인 경우에,플래그(ref_layer_id)는 기준 영상으로 사용되는 VOP가 속하는 층을 나타낸다.)
또한, 고위 계층 부호화부(23)의 움직임 벡터 검출기(32)는 VOP에 대한 플래그(ref_layer_id)에 따라 플래그(ref_select_code)(기준 영상 정보)를 설정하여 출력하도록 구성된다. 플래그(ref_select_code)(기준 영상 정보)는 전방 예측 부호화 또는 후방 예측 부호화를 실행하는데 어느 층의 어느 VOP가 기준 영상으로 사용되는가를 나타낸다.
특히, 예를 들면, 고위 계층내의 P-화상이 그 P-화상 직전에 복호화된(국부적으로 복호화된) 화상과 같은 층에 속하는 VOP를 기준 영상으로 사용함으로서 부호화되는 경우에, 플래그(ref_select_code)는 00으로 설정된다. 또한, P-화상이 그 P-화상 직전에 디스플레이된 화상과 다른 층(여기서는 기본 계층(기준층))에 속하는 VOP를 기준 영상으로 사용함으로서 부호화되는 경우에, 플래그(ref_select_code)는 01로 설정된다. 부가하여, P-화상이 그 P-화상 직후에 디스플레이된 화상과 다른 층에 속하는 VOP를 기준 영상으로 사용함으로서 부호화되는 경우에, 플래그(ref_select_code)는 10으로 설정된다. 또한, P-화상이 그 P-화상과 동시에 주어진 다른층에 속하는 VOP를 기준 영상으로 사용함으로서 부호화되는 경우에, 플래그(ref_select_code)는 11로 설정된다.
한편, 예를 들어, 고위 계층내의 B-화상이 그 B-화상과 동시에 주어진 다른 층에 속하는 VOP를 전방 예측을 위한 기준 영상으로 사용하고 또한 그 B-화상 직전에 복호화된 화상과 같은 층에 속하는 VOP를 후방 예측을 위한 기준 영상으로 사용함으로서 부호화되는 경우에, 플래그(ref_select_code)는 00으로 설정된다. 또한,고위 계층내의 B-화상이 그 B-화상과 같은 층에 속하는 VOP를 전방 예측을 위한 기준 영상으로 사용하고 또한 그 B-화상 직전에 디스플레이된 화상과 다른 층에 속하는 VOP를 후방 예측을 위한 기준 영상으로 사용함으로서 부호화되는 경우에, 플래그(ref_select_code)는 01로 설정된다. 부가하여, 고위 계층내의 B-화상이 그 B-화상 직전에 복호화된 화상과 같은 층에 속하는 VOP를 전방 예측을 위한 기준 영상으로 사용하고 또한 그 B-화상 직후에 디스플레이된 화상과 다른 층에 속하는 VOP를 후방 예측을 위한 기준 영상으로 사용함으로서 부호화되는 경우에, 플래그(ref_select_code)는 10으로 설정된다. 또한, 고위 계층내의 B-화상이 그 B-화상 직전에 디스플레이된 화상과 다른 층에 속하는 VOP를 전방 예측을 위한 기준 영상으로 사용하고 또한 그 B-화상 직후에 디스플레이된 화상과 같은 층에 속하는 VOP를 후방 예측을 위한 기준 영상으로 사용함으로서 부호화되는 경우에, 플래그(ref_select_code)는 11로 설정된다.
여기서, 도 13 및 도 14에 도시된 예측 부호화는 단순히 한가지 예이다. 그러므로, 상술된 범위내에서 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측 부호화를 위한 기준 영상으로 어느 층의 어느 VOP가 사용되는가를 자유롭게 설정하는 것이 가능하다.
상술된 경우에서는 설명을 위해 공간상 스케일러빌리티, 시간상 스케일러빌리티, 및 SNR 스케일러빌리티가 사용되었지만, 예측 부호화를 위한 기준 영상이 플래그(ref_select_code)에 의해 설정되는 경우에는 공간상 스케일러빌리티, 시간상 스케일러빌리티, 및 SNR 스케일러빌리티를 서로 구별하는 것이 어려워진다. 즉,역으로 말하면, 플래그(ref_select_code)의 사용은 상술된 스케일러빌리티간의 구별을 불필요하게 한다.
여기서, 상술된 스케일러빌리티와 플래그(ref_select_code)가 서로 상관되면, 상관관계는 예를 들어, 다음과 같을 것이다. 즉, P-화상에 대해, 플래그(ref_select_code)가 11인 경우는 플래그(ref_layer_id)로 나타내진 층에서 동시에 주어지는 VOP가 기준 영상(전방 예측을 위한)으로 사용되는 경우이므로, 이 경우는 공간상 스케일러빌리티 또는 SNR 스케일러빌리티에 대응한다. 플래그(ref_select_code)가 11인 경우 이외의 경우는 공간상 스케일러빌리티에 대응한다.
또한, B-화상에 대해, 플래그(ref_select_code)가 00인 경우는 또한 플래그(ref_layer_id)로 나타내진 층에서 동시에 주어지는 VOP가 전방 예측을 위한 기준 영상으로 사용되는 경우이므로, 이 경우는 공간상 스케일러빌리티 또는 SNR 스케일러빌리티에 대응한다. 플래그(ref_select_code)가 00인 경우 이외의 경우는 공간상 스케일러빌리티에 대응한다.
고위 계층내의 VOP를 예측하여 부호화하기 위해, 고위 계층과 다른 층(여기서는 기본 계층)에서 동시에 주어지는 VOP가 기준 영상으로 사용되는 경우에는 그들간에 이동이 없으므로, 움직임 벡터가 항상 0((0,0))이 됨을 주목한다.
다시 도 12를 참고로, 상술된 플래그(ref_layer_id) 및 플래그(ref_select_code)는 고위 계층 부호화부(23)의 움직임 벡터 검출기(32)로 설정되어 움직임 보상기(42) 및 VLC 유닛(36)에 공급된다.
또한, 움직임 벡터 검출기(32)는 플래그(ref_layer_id) 및 플래그(ref_select_code)에 따라 프레임 메모리(31)만을 참고할 뿐만 아니라 필요한 경우 프레임 메모리(52)도 참고함으로서 움직임 벡터를 검출한다.
여기서, 국부적으로 복호화된 기본 계층내의 확대된 영상은 해상도 변형부(24)(도 5)에서 프레임 메모리(52)로 공급된다. 즉, 해상도 변형부(24)에서는 국부적으로 복호화된 기본 계층내의 VOP가 예를 들면, 소위 보간 필터(interpolation filter) 등에 의해 확대된다. 이로 인해, VOP 크기의 FR배인 확대 영상, 즉 기본 계층내의 VOP에 대응하는 고위 계층내의 VOP와 같은 크기의 확대 영상이 발생된다. 발생된 영상은 고위 계층 부호화부(23)로 공급된다. 프레임 메모리(52)는 이 방식으로 해상도 변형부(24)에서 공급된 확대 영상을 저장한다.
그러므로, 확대비(FR)가 1일 때는 해상도 변형부(24)가 기본 계층 부호화부(25)로부터 공급되는 국부적으로 복호화된 VOP를 처리하지 않는다. 국부적으로 복호화된 기본 계층 부호화부(25)로부터의 VOP는 그대로 고위 계층 부호화부(23)에 공급된다.
크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)는 기본 계층 부호화부(25)에서 움직임 벡터 검출기(32)로 공급되고, 지연 회로(22)(도 5)로부터의 확대비(FR)도 또한 움직임 벡터 검출기(32)로 공급된다. 프레임 메모리(52)에 저장된 확대 영상이 기준 영상으로 사용되는 경우, 즉 고위 계층내의 VOP를 예측하여 부호화하기 위해 고위 계층 VOP와 동시에 주어지는 기본 계층내의 VOP가 기준 영상으로 사용되는 경우 (이 경우에는 플래그(ref_select_code)가 P-화상에 대해 11이 되고 B-화상에대해 00이 된다), 움직임 벡터 검출기(32)는 확대 영상에 대응하는 크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)를 확대비(FR)로 곱한다. 곱셈 결과를 근거로, 움직임 벡터 검출기(32)는 절대 좌표계에서 확대 영상의 위치를 인식하고, 그에 의해 움직임 벡터를 검출한다.
기본 계층에서의 움직임 벡터 및 예측 모드는 움직임 벡터 검출기(32)로 공급됨을 주목한다. 이 데이터는 다음의 경우에서 사용된다. 즉, 고위 계층내의 B-화상에 대한 플래그(ref_select_code)가 00인 경우에, 확대비(FR)가 1일 때, 즉 SNR 스케일러빌리티의 경우 (이 경우에는 고위 계층내의 VOP가 고위 계층을 예측하여 부호화하는데 사용되므로, 여기서 사용되는 SNR 스케일러빌리티는 이점에 있어서 MPEG-2 표준에서 설명되는 것과 다르다), 고위 계층 및 기본 계층내의 영상은 똑같다. 그러므로, 고위 계층내의 B-화상의 예측 부호화가 실행될 때, 움직임 벡터 검출기(32)는 B-화상과 동시에 주어지는 기본 계층에서의 움직임 벡터 및 예측 모드를 그대로 사용할 수 있다. 그래서, 이 경우에는 움직임 벡터 검출기(32)가 고위 계층의 B-화상을 처리하지 않고, 기본 계층의 움직임 벡터 및 예측 모드를 그대로 적용한다.
이 경우에, 고위 계층 부호화부(23)에서는 움직임 벡터와 예측 모드가 움직임 벡터 검출기(32)에서 VLC 유닛(36)으로 출력되지 않는다. (그러므로, 이들은 전송되지 않는다.) 이는 수신측이 기본 계층을 복호화한 결과로부터 고위 계층의 움직임 벡터 및 예측 모드를 인식할 수 있기 때문이다.
상술된 바와 같이, 움직임 벡터 검출기(32)는 고위 계층내의 VOP와 확대 영상을 모두 기준 영상으로 사용함으로서 움직임 벡터를 검출한다. 또한, 도 1에 도시된 바와 같이, 움직임 벡터 검출기(32)는 예측 에러(또는 분산)를 최소로 만드는 예측 모드를 설정한다. 또한, 움직임 벡터 검출기(32)는 플래그(ref_select_code), 플래그(ref_layer_id) 등과 같은 필요한 정보를 설정하여 출력한다.
도 12에서, 플래그(COD)는 기본 계층내의 I-화상 또는 P-화상을 구성하는 매크로블록이 스킵 매크로블록인가 여부를 나타내고, 플래그(COD)는 기본 계층 부호화부(25)에서 움직임 벡터 검출기(32), VLC 유닛(36), 및 움직임 보상기(42)로 공급된다.
움직임 벡터가 검출된 매크로블록은 상술된 경우와 같은 방식으로 부호화된다. 부호화의 결과로, 가변 길이 코드가 VLC 유닛(36)에서 출력된다.
고위 계층 부호화부(23)의 VLC 유닛(36)은 기본 계층 부호화부(25)의 경우에서와 같이, 플래그 (COD) 및 (MODB)를 설정하여 출력하도록 구성된다. 여기서, 플래그(COD)는 상술된 바와 같이 I- 또는 P-화상내의 매크로블록이 스킵 매크로블록인가 여부를 나타내고, 플래그(MODB)는 B-화상내의 매크로블록이 스킵 매크로블록인가 여부를 나타낸다.
양자화된 계수, 양자화 스텝, 움직임 벡터, 예측 모드, 확대비(FR), 플래그(ref_select_code), 플래그(ref_layer_id), 크기 데이터(FSZ_E), 및 오프셋 데이터(FPOS_E)는 또한 VLD 유닛(36)으로 공급된다. VLC 유닛(36)에서는 이들이 가변 단어길이 부호화에 의해 부호화되어 출력된다.
한편, 움직임 벡터가 검출된 매크로블록은 부호화된 이후에 상술된 바와 같이 국부적으로 복호화되어 프레임 메모리(41)에 저장된다. 움직임 보상기(42)에서는 움직임 벡터 검출기(32)의 경우에서와 같이, 프레임 메모리(41)에 저장된 고위 계층내의 국부적으로 복호화된 VOP와, 프레임 메모리(52)에 저장된 기본 계층내의 국부적으로 복호화된 확대 VOP 모두를 기준 영상으로 사용함으로서 움직임 보상이 실행된다.
즉, 움직임 벡터 및 예측 모드에 부가하여, 플래그(ref_select_code), 플래그(ref_layer_id), 확대비(FR), 크기 데이터(FSZ_B), 크기 데이터(FSZ_E), 오프셋 데이터(FPOS_B), 및 오프셋 데이터(FPOS_E)가 움직임 보상기(42)로 공급된다. 움직임 보상기(42)는 플래그(ref_select_code) 및 (ref_layer_id)를 근거로 움직임 보상될 기준 영상을 인식한다. 또한, 고위 계층내의 국부적으로 복호화된 VOP 또는 확대 영상이 기준 영상으로 사용되는 경우에, 움직임 보상기(42)는 크기 데이터(FSZ_E)와 오프셋 데이터(FPOS_E), 또는 크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)를 근거로 절대 좌표계에서 기준 영상의 위치 및 크기를 인식한다. 움직임 보상기(42)는 필요한 경우 확대비(FR)를 사용함으로서 예측 영상을 발생한다.
다음에, 도 15는 도 3의 인코더로부터 출력된 비트열을 복호화하는 디코더의 실시예의 구성예를 도시한다.
이 디코더는 전송 경로(5) 또는 저장 매체(6)를 통해 도 3의 인코더에 의해 공급되는 비트열을 수신한다. 즉, 도 3의 인코더로부터 출력되고 전송 경로(5)를 통해 전송되는 비트열이 수신기(도시 생략)에 의해 수신된다. 다른 방법으로, 저장 매체(6)상에 기록된 비트열이 재생기(도시 생략)에 의해 재생된다. 수신되거나 재생된 비트열은 역다중화부(71)로 공급된다.
역다중화부(71)는 그에 입력된 비트열(추후 설명되는 비트열(VS))을 수신한다. 또한, 역다중화부(71)에서는 입력된 비트열이 비트 스트림 (VO#1), (VO#2), ...으로 분리된다. 비트열은 각각 대응하는 VOP 복호화부(72n)로 공급된다. VOP 복호화부(72n)에서는 VO, 크기 데이터(VOP 크기), 및 오프셋 데이터(VOP 오프셋)로 구성된 VOP(영상 데이터)가 역다중화부(71)에서 공급된 비트열로부터 복호화된다. 복호화된 데이터는 영상 재구성부(73)로 공급된다.
영상 재구성부(73)는 VOP 복호화부(721) 내지 (72N)의 각 출력을 근거로 원래 영상을 재구성한다. 재구성된 이 영상은 예를 들면, 모니터(74)에 공급되어 디스플레이된다.
다음에, 도 16은 스케일러빌리티를 실현한 도 15의 VOP 복호화부(72N)의 구성예를 도시한다.
역다중화부(71)(도 15)로부터 공급된 비트열은 역다중화부(91)로 입력되고, 그에 입력된 비트열은 고위 계층내의 VOP 비트열과 기본 계층내의 VOP 비트열로 분리된다. 고위 계층내의 VOP 비트열은 기본 계층 복호화부(95)에서의 처리 주기 만큼 지연 회로(92)에 의해 지연되어 고위 계층 복호화부(93)로 공급된다. 또한, 기본 계층내의 VOP 비트열은 기본 계층 복호화부(95)로 공급된다.
기본 계층 복호화부(95)에서는 기본 계층내의 비트열이 복호화되고, 결과의기본 계층내의 복호화 영상은 해상도 변형부(94)로 공급된다. 또한, 기본 계층 복호화부(95)에서는 기본 계층의 비트열을 복호화함으로서 구해지는, 고위 계층내의 VOP를 복호화하는데 필요한 정보가 고위 계층 복호화부(93)로 공급된다. 필요한 정보는 크기 데이터(FSZ_B), 오프셋 데이터(FPOS_B), 움직임 벡터(MV), 예측 모드, 플래그(COD) 등을 포함한다.
고위 계층 복호화부(93)에서는 지연 회로(92)를 통해 공급된 고위 계층내의 비트열이 필요한 경우 해상도 변형부(94)와 기본 계층 복호화부(95)의 출력을 참고하여 복호화된다. 결과의 고위 계층내의 복호화 영상, 크기 데이터(FSZ_E), 및 오프셋 데이터(FPOS_E)가 출력된다. 또한, 고위 계층 복호화부(93)에서는 고위 계층내의 비트열을 복호화함으로서 구해지는 확대비(FR)가 해상도 변형부(94)로 출력된다. 해상도 변형부(94)에서는 도 5의 해상도 변형부(24)의 경우에서와 같이, 기본 계층내의 복호화 영상이 고위 계층 복호화부(93)로부터 공급된 확대비(FR)를 사용해 변형된다. 이 변형으로 구해지는 확대 영상은 고위 계층 복호화부(93)로 공급된다. 상술된 바와 같이, 확대 영상은 고위 계층의 비트열을 복호화하는데 사용된다.
다음에, 도 17은 도 16의 기본 계층 복호화부(95)의 구성예를 도시한다. 도 17에서, 도 2의 디코더의 경우에 대응하는 부분에는 똑같은 참고 번호가 적용된다. 즉, 기본적으로 기본 계층 복호화부(95)는 도 2의 디코더와 같은 방식으로 구성된다.
역다중화부(91)로부터의 기본 계층의 비트열은 버퍼(101)에 공급되어 임시적으로 저장된다. IVLC 유닛(102)은 필요한 경우, 다음의 단계의 블록 처리 상태에 대응하여 버퍼(101)로부터 비트열을 판독하고, 비트열은 가변 단어길이 복호화에 의해 복호화되어 양자화된 계수, 움직임 벡터, 예측 모드, 양자화 스텝, 크기 데이터(FSZ_B), 오프셋 데이터(FPOS_B), 및 플래그(COD)로 분리된다. 양자화된 계수와 양자화 스텝은 역양자화기(103)로 공급된다. 움직임 벡터와 예측 모드는 움직임 보상기(107) 및 고위 계층 복호화부(93)(도 16)로 공급된다. 또한, 크기 데이터(FSZ_B)와 오프셋 데이터(FPOS_B)는 움직임 보상기(107), 영상 재구성부(73)(도 15), 및 고위 계층 복호화부(93)로 공급되고, 플래그(COD)는 고위 계층 복호화부(93)로 공급된다.
역양자화기(103), IDCT 유닛(104), 산술 유닛(105), 프레임 메모리(106), 및 움직임 보상기(107)는 각각 도 11의 기본 계층 부호화부(25)의 역양자화기(38), IDCT 유닛(39), 산술 유닛(40), 프레임 메모리(41), 및 움직임 보상기(42)에 대응하는 유사한 처리를 실행한다. 이로 인해, 기본 계층의 VOP는 복호화된다. 복호화된 VOP는 영상 재구성부(73), 고위 계층 복호화부(93), 및 해상도 변형부(94)(도 16)로 공급된다.
다음에, 도 18은 도 16의 고위 계층 복호화부(93)의 구성예를 도시한다. 도 18에서, 도 2의 경우에 대응하는 부분에는 똑같은 참고 번호가 적용된다. 즉, 기본적으로 고위 계층 복호화부(93)는 프레임 메모리(112)가 새롭게 제공되는 것을 제외하면 도 2의 디코더와 같은 방식으로 구성된다.
역다중화부(91)로부터의 고위 계층의 비트열은 버퍼(101)를 통해 IVLC(102)로 공급된다. IVLC 유닛(102)은 가변 단어길이 복호화에 의해 고위 계층의 비트열을 복호화하고, 그에 의해 비트열을 양자화된 계수, 움직임 벡터, 예측 모드, 양자화 스텝, 크기 데이터(FSZ_E), 오프셋 데이터(FPOS_E), 확대비(FR), 플래그(ref_layer_id), 플래그(ref_select_code), 플래그(COD), 및 플래그(MODB)로 분리한다. 양자화된 계수와 양자화 스텝은 도 17의 경우에서와 같이, 역양자화기(103)로 공급된다. 움직임 벡터와 예측 모드는 움직임 보상기(107)로 공급된다. 또한, 크기 데이터(FSZ_E)와 오프셋 데이터(FPOS_E)는 움직임 보상기(107) 및 영상 재구성부(73)(도 15)로 공급된다. 플래그(COD), 플래그(MODB), 플래그(ref_layer_id), 및 플래그(ref_select_code)는 움직임 보상기(107)로 공급된다. 또한, 확대비(FR)는 움직임 보상기(107) 및 해상도 변형부(94)(도 16)로 공급된다.
기본 계층의 움직임 벡터, 플래그(COD), 크기 데이터(FSZ_B), 및 오프셋 데이터(FPOS_B)는 상술된 데이터에 부가하여 기본 계층 복호화부(95)(도 16)에서 움직임 보상기(107)로 공급됨을 주목한다. 또한, 확대 영상은 해상도 변형부(94)에서 프레임 메모리(112)로 공급된다.
역양자화기(103), IDCT 유닛(104), 산술 유닛(105), 프레임 메모리(106), 움직임 보상기(107), 및 프레임 메모리(112)는 각각 도 12의 고위 계층 부호화부(23)의 역양자화기(38), IDCT 유닛(39), 산술 유닛(40), 프레임 메모리(41), 움직임 보상기(42), 및 프레임 메모리(52)에 대응하는 유사한 처리를 실행한다. 이로 인해, 고위 계층의 VOP가 복호화된다. 복호화된 VOP는 영상 재구성부(73)로 공급된다.
여기서, 상술된 바와 같이 구성된 고위 계층 복호화부(93)와 기본 계층 복호화부(95)를 모두 갖는 VOP 복호화부(72n)에서는 고위 계층내의 복호화 영상, 크기 데이터(FSZ_E), 및 오프셋 데이터(FPOS_E)(이후 필요한 경우 고위 계층 데이터라 칭하여지는)와 기본 계층내의 복호화 데이터, 크기 데이터(FSZ_B), 및 오프셋 데이터(FPOS_B)(이후 필요한 경우 기본 계층 데이터라 칭하여지는)가 모두 얻어진다. 영상 재구성부(73)에서는 예를 들면, 다음의 방식으로 고위 계층 데이터 또는 기본 계층 데이터로부터 영상이 재구성된다.
즉, 예를 들어, 제 1 공간상 스케일러빌리티(도 6)이 실행되는 경우(즉, 전체 입력 VOP가 고위 계층으로 이루어지고 축소된 전체 VOP가 기본 계층으로 이루어지는 경우), 기본 계층 데이터와 고위 계층 데이터가 모두 복호화될 때, 영상 재구성부(73)는 고위 계층 데이터만을 근거로 하여 오프셋 데이터(FPOS_E)로 나타내지는 위치에 크기 데이터(FSZ_E)에 대응하는 크기의 고위 계층 복호화 영상(VOP)을 배열한다. 또한, 예를 들어, 고위 계층의 비트열에 에러가 발생될 때, 또는 모니터(74)가 저해상도의 영상만을 처리하므로 기본 계층 데이터만이 복호화될 때, 영상 재구성부(73)는 기본 계층 데이터만을 근거로 하여 오프셋 데이터(FPOS_B)로 나타내지는 위치에 크기 데이터(FSZ_B)에 대응하는 크기의 고위 계층 복호화 영상(VOP)을 배열한다.
또한, 예를 들어, 제 2 공간상 스케일러빌리티(도 7)이 실행되는 경우(즉, 입력 VOP의 일부가 고위 계층으로 이루어지고 축소된 전체 VOP가 기본 계층으로 이루어지는 경우), 기본 계층 데이터와 고위 계층 데이터가 모두 복호화될 때, 영상재구성부(73)는 확대비(FR)에 따라 크기 데이터(FSZ_B)에 대응하는 크기의 기본 계층 복호화 영상을 확대하여 확대 영상을 발생한다. 또한, 영상 재구성부(73)는 오프셋 데이터(FPOS_B)를 FR배 만큼 확대하고, 결과값에 대응하는 위치에 확대 영상을 배열한다. 또한, 영상 재구성부(73)는 오프셋 데이터(FPOS_E)로 나타내지는 위치에 크기 데이터(FSZ_E)에 대응하는 크기의 고위 계층 복호화 영상을 배열한다.
이 경우에, 고위 계층 복호화 영상의 일부는 나머지 부분 보다 더 높은 해상도로 디스플레이된다.
고위 계층 복호화 영상이 배열된 경우, 복호화 영상 및 확대 영상은 서로 합성됨을 주목한다.
또한, 비록 도 16(도 15)에는 도시되지 않았지만, 확대비(FR)는 상술된 데이터에 부가하여 고위 계층 복호화부(93)(VOP 복호화부(72n))에서 영상 재구성부(73)로 공급된다. 영상 재구성부(73)는 공급된 확대비(FR)를 사용해 확대 영상을 발생한다.
한편, 제 2 공간상 스케일러빌리티가 실행되는 경우, 기본 계층 데이터만이 복호화될 때, 영상은 제 1 공간상 스케일러빌리티가 실행되는 상술된 경우와 똑같은 방식으로 재구성된다.
또한, 제 3 공간상 스케일러빌리티(도 8 및 도 9)이 실행되는 경우(즉, 입력 VOP를 구성하는 각 객체가 고위 계층으로 이루어지고 그 객체를 제외한 VOP가 기본 계층으로 이루어지는 경우), 영상은 제 2 공간상 스케일러빌리티가 실행되는 상술된 경우와 똑같은 방식으로 재구성된다.
상술된 바와 같이, 오프셋 데이터(FPOS_B)와 오프셋 데이터(FPOS_E)는 기본 계층의 확대 영상과 고위 계층의 영상을 구성하는, 서로 대응하는 픽셀이 절대 좌표계에서 똑같은 위치에 배열되도록 구성된다. 그러므로, 상술된 방식으로 영상을 재구성함으로서, 정확한 영상(위치상의 오프셋이 없는)이 구해질 수 있다.
다음에는 예를 들어, MPEG-4 표준의 비디오 확인 모델(버젼 6.0)(이후 필요한 경우 VM-6.0이라 칭하여지는)을 예로, 도 3의 인코더에 의해 출력된 부호화 비트열의 구문(syntax)이 설명된다.
도 19는 VM-6.0으로 부호화 비트열의 구문을 도시한다.
부호화 비트열은 비디오 세션 등급(video session class, VS)으로 구성된다. 각 VS는 하나 이상의 영상 객체 등급(VO)으로 구성된다. 각 VO는 하나 이상의 영상 객체 층(layer) 등급(VOL)으로 구성된다. (영상이 계층화되지 않을 때, 이는 단일 VOL로 구성된다. 영상이 계층화된 경우에, 이는 층의 수에 대응하는 VOL로 구성된다.) 각 VOL은 영상 객체 평면(plane) 등급(VOP)으로 구성된다.
VS는 영상의 시퀀스이고 단일 프로그램이나 영화임을 주목한다.
도 20 및 도 21은 VS의 구문과 VO의 구문을 도시한다. VO는 영상을 구성하는 객체의 시퀀스 또는 전체 영상에 대응하는 비트열이다. 그러므로, VS는 이러한 시퀀스의 세트로 구성된다. (그러므로, VS는 예를 들면, 단일 프로그램과 같다.)
도 22는 VOL의 구문을 도시한다.
VOL은 상술된 스케일러빌리티에 대한 등급이고, video_object_layer_id로 나타내지는 숫자로 식별된다. 예를 들면, 기본 계층내의 VOL에 대한video_object_layer_id는 0이 되고, 고위 계층내의 VOL에 대한 video_object_layer_id는 1이 된다. 상술된 바와 같이, 스케일러빌리티층의 수는 2로 제한되지 않고 1, 3, 또는 그 이상을 포함하는 임의의 수가 될 수 있음을 주목한다.
또한, VOL이 전체 영상인가 영상의 일부인가 여부는 video_object_layer_shape로 식별된다. 이 video_object_layer_shape는 VOL의 형상을 나타내는 플래그로, 다음과 같이 설정된다.
VOL의 형상이 직사각형일 때, video_object_layer_shape는 예를 들어, 00이 된다. 또한, VOL이 하드키(hard key)(0이나 1을 취하는 이진수 신호)로 절단된 영역의 형상에 있을 때, video_object_layer_shape는 예를 들어, 01이 된다. 또한, VOL이 소프트키(soft key)(0 내지 1의 범위에서 연속적인 값(그레이(gray) 스케일)을 취할 수 있는 신호)로 절단된 영역의 형상에 있을 때(소프트키로 합성될 때), video_object_layer_shape는 예를 들어, 10이 된다.
여기서, video_object_layer_shape가 00이 될 때, VOP의 형상은 직사각형이고, 또한 절대 좌표계에서의 VOL의 위치 및 크기는 시간에 따라 변하지 않는다. 즉, 일정하다. 이 경우에, 크기(수평방향 길이 및 수직방향 길이)는 video_object_layer_width 및 video_object_layer_height로 나타내진다. video_object_layer_width 및 video_object_layer_height는 모두 10 비트로 고정된 길이의 플래그이다. video_object_layer_shape가 00인 경우, 이는 먼저 한 번만 전송된다. (이는 상술된 바와 같이 video_object_layer_shape가 00인 경우에, 절대좌표계에서의 VOL의 크기가 일정하기 때문이다.)
또한, VOL이 기본 계층인가 고위 계층인가 여부는 1-비트 플래그인 스케일러빌리티에 의해 나타내진다. VOL이 기본 계층일 때, 스케일러빌리티는 예를 들어, 1이 된다. 그 이외의 경우, 스케일러빌리티는 예를 들어, 0이 된다.
또한, VOL이 기준 영상으로 그 자신 이외의 VOL내의 영상을 사용하는 경우, 기준 영상이 속하는 VOL은 상술된 바와 같이 ref_layer_id로 나타내진다. ref_layer_id는 VOL이 고위 계층일 때만 전송됨을 주목한다.
도 22에서, hor_sampling_factor_n 및 hor_sampling_factor_m은 각각 기본 계층내의 VOP의 수평방향 길이에 대응하는 값과 고위 계층내의 VOP의 수평방향 길이에 대응하는 값을 나타낸다. 기본 계층에 대한 고위 계층의 수평방향 길이(수평방향 해상도의 확대비)는 다음의 식으로 주어진다: hor_sampling_factor_n / hor_sampling_factor_m.
도 22에서, ver_sampling_factor_n 및 ver_sampling_factor_m은 각각 기본 계층내의 VOP의 수직방향 길이에 대응하는 값과 고위 계층내의 VOP의 수직방향 길이에 대응하는 값을 나타낸다. 기본 계층에 대한 고위 계층의 수직방향 길이(수직방향 해상도의 확대비)는 다음의 식으로 주어진다: ver_sampling_factor_n / ver_sampling_factor_m.
다음에, 도 23은 VOP의 구문을 도시한다.
VOP의 크기(수평방향 길이 및 수직방향 길이)는 예를 들어, 10 비트로 고정된 길이를 갖는 VOP_width와 VOP_height로 나타내진다. 또한, 절대 좌표계에서의VOP의 위치는 예를 들어, 10 비트로 고정된 길이의 VOP_horizontal_spatial_mc_ref와 VOP_vertical_mc_ref로 나타내진다. VOP_width 및 VOP_height는 각각 VOP의 수평방향 길이와 수직방향 길이를 나타낸다. 이들은 상술된 크기 데이터(FSZ_B) 및 크기 데이터(FSZ_E)와 같다. VOP_horizontal_spatial_mc_ref 및 VOP_vertical_mc_ref는 각각 VOP의 수평방향 및 수직방향 좌표(x 및 y 좌표)를 나타낸다. 이들은 상술된 오프셋 데이터(FPOS_B) 및 오프셋 데이터(FPOS_E)와 같다.
VOP_width, VOP_height, VOP_horizontal_mc_ref, 및 VOP_vertical_mc_ref는 video_object_layer_shape가 00이 아닐 때에만 전송된다. 즉, 상술된 바와 같이, video_object_layer_shape가 00일 때는 VOP의 크기 및 위치가 모두 일정하므로, VOP_width, VOP_height, VOP_horizontal_spatial_mc_ref, 및 VOP_vertical_mc_ref를 전송할 필요가 없다. 이 경우에, 수신측에서는 우측 상단 모서리가 절대 좌표계의 원점과 일치하도록 VOP를 배열한다. 또한, 도 22에서 설명되는 video_object_layer_width 및 video_object_layer_height로부터 크기가 인식된다.
도 23에서, ref_select_code는 도 19에서 설명된 바와 같이, 기준 영상으로 사용되는 영상을 나타내고, VOP의 구문에 의해 규정된다.
부수적으로, VM-6.0에서는 각 VOP(종래의 프레임과 같은)의 디스플레이 시간이 다음과 같이 modulo_time_base 및 VOP_time_increment (도 23)로 결정된다:
즉, modulo_time_base는 1초의 정확도(1000 ms)내에서 인코더 시간을 지방시 시간축(local time base)상에 나타낸다. modulo_time_base는 VOP 헤더(header)에서 전송된 표시로 나타내지고, 필요한 수의 1 및 0으로 구성된다. "0"으로 이어지는 modulo_time_base를 구성하는 연속되는 "1"의 수는 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점(1초의 정확도내의 시간)으로부터의 누적 주기이다. 예를 들어, modulo_time_base가 0을 나타낼 때, 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점으로부터의 누적 주기는 0초이다. 또한, modulo_time_base가 10을 나타낼 때, 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점으로부터의 누적 주기는 1초이다. 또한, modulo_time_base가 110을 나타낼 때, 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점으로부터의 누적 주기는 2초이다. 그래서, modulo_time_base내의 1의 수는 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점으로부터의 초의 수이다.
modulo_time_base에 대해, VM-6.0은 다음과 같이 언급함을 주목한다:
이 값은 1초 해상도 유닛에서 지방시 시간축상를 나타낸다(1000 ms). 이는 VOP 헤더에서 전송되는 표시로 나타내진다. "0"으로 이어지는 연속적인 "1"의 수는 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점 이래로 경과된 초의 수를 나타낸다.
VOP_time_increment는 1 ms의 정확도내에서 인코더 시간을 지방시 시간축상에 나타낸다. VM-6.0에서, IVOP 및 P-VOP에 대해, VOP_time_increment는 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점으로부터의 시간을 나타낸다. B-VOP에 대해, VOP_time_increment는 마지막으로 부호화/복호화된 I- 또는 P-VOP로부터의 상대적인 시간이다.
VOP_time_increment에 대해, VM-6.0은 다음과 같이 언급함을 주목한다:
이 값은 ms의 단위로 지방시 시간축상를 나타낸다. I- 및 P-VOP에 대해, 이 값은 마지막 modulo_time_base에 의해 표시되는 동기화 시점으로부터의 절대적인 VOP_time_increment이다. B-VOP에 대해, 이 값은 마지막으로 부호화/복호화된 I- 또는 P-VOP로부터의 상대적인 VOP_time_increment이다.
또한, VM-6.0는 다음과 같이 언급한다:
인코더에서는 각각 I/P-VOP 및 B-VOP에 대해 절대적 및 상대적 VOP_time_increment를 결정하는데 다음의 공식을 사용한다.
즉, VM-6.0은 인코더에서 I/P-VOP 및 B-VOP에 대한 디스플레이 시간이 각각 다음의 공식에 의해 부호화됨을 규정한다:
tGTB(n) = n x 1000ms + tEST
tAVTI = tETB(I/P) - tGTB(n)
tRVTI = tETB(B) - tETB(I/P) ... (1)
여기서, tGTB(n)은 제 n 번째로 부호화된 modulo_time_base에 의해 표시되는 동기화 시점의 시간(상술된 바와 같이 1초의 정확도로)을 나타내고, tEST는 VO의 부호화 시작시 인코더 시간(VO의 부호화가 시작되었던 절대 시간)을 나타내고, tAVTI는 I 또는 P-VOP에 대한 VOP_time_increment를 나타내고, tETB(I/P)는 I 또는 P-VOP의 부호화 시작시 인코더 시간(VOP의 부호화가 시작되었던 절대 시간)을 나타내고, tRVTI는 B-VOP에 대한 VOP_time_increment를 나타내고, 또한 tETB(B)는 B-VOP의 부호화 시작시 인코더 시간을 나타낸다.
식(1)에서의 tGTB(n), tEST, tAVTI, tETB(I/P), tRVTI, 및 tETB(B)에 대해, VM-6.0은 다음과 같이 언급함을 주목한다:
tGTB(n)는 제 n 번째로 부호화된 moduol_time_base에 의해 표시되는 인코더 시간이고, tEST는 인코더 시간 기초의 시작 시간이고, tAVTI는 I 또는 P-VOP에 대한 절대적인 VOP_time_increment이고, tETB(I/P)는 I 또는 P-VOP의 부호화 시작시 인코더 시간 기초이고, tRVTI는 B-VOP에 대한 상대적인 VOP_time_increment이고, 또한 tETB(B)는 B-VOP의 부호화 시작시 인코더 시간 기초이다.
또한, VM-6.0는 다음과 같이 언급한다:
디코더에서는 각각 I/P-VOP 및 B-VOP의 복구 시간 기초(recovered time base)를 결정하는데 다음의 공식을 사용한다.
즉, VM-6.0은 디코더측에서 I/P-VOP 및 B-VOP에 대한 디스플레이 시간이 각각 다음의 공식에 의해 복호화됨을 규정한다:
tGTB(n) = n x 1000ms + tDST
tDTB(I/P) = tAVTI + tGTB(n)
tDTB(B) = tRVTI - tDTB(I/P) ... (2)
여기서, tGTB(n)은 제 n 번째로 복호화된 modulo_time_base에 의해 표시되는 동기화 시점의 시간을 나타내고, tDST는 VO의 복호화 시작시 디코더 시간(VO의 복호화가 시작되었던 절대 시간)을 나타내고, tDTB(I/P)는 I-VOP 또는 P-VOP의 복호화 시작시 디코더 시간을 나타내고, tAVTI는 I-VOP 또는 P-VOP에 대한 VOP_time_increment를 나타내고, tDTB(B)는 B-VOP의 복호화 시작시 디코더시간(VOP의 복호화가 시작되었던 절대 시간)을 나타내고, 또한 tRVTI는 B-VOP에 대한 VOP_time_increment를 나타낸다.
식(2)에서의 tGTB(n), tDST, tDTB(I/P), tAVTI, tDTB(B), 및 tRVTI에 대해, VM-6.0은 다음과 같이 언급함을 주목한다:
tGTB(n)는 제 n 번째로 복호화된 moduol_time_base에 의해 표시되는 인코더 시간 기초이고, tDST는 디코더 시간 기초의 시작 시간이고, tDTB(I/P)는 I 또는 P-VOP의 복호화 시작시 복호화 시간 기초이고, tAVTI는 I- 또는 P-VOP에 대한 복호화 절대 VOP_time_increment이고, tDTB(B)는 B-VOP의 복호화 시작시 복호화 시간 기초이고, 또한 tRVTI는 B-VOP에 대해 복호화된 상대적인 VOP_time_increment이다.
도 24는 상기의 정의를 근거로 moduol_time_base와 VOP_time_increment 사이의 관계를 도시한다.
도면에서, VO는 I1 (I-VOP), B2 (B-VOP), B3, P4 (P-VOP), B5, P6 등과 같이, VOP의 시퀀스로 구성된다. 이제는 시작 시간(t0)으로부터 경과된 시간이 1초의 정확도내에서 나타내지기 때문에, VO의 부호화/복호화 시작 시간(절대 시간)은 t0이고, modulo_time_base는 t0 + 1 초, tO + 2 초 등과 같은 시간(동기화 시점)을 나타내는 것으로 가정한다. 도 24에서는 비록 디스플레이 순서가 I1, B2, B3, P4, B5, P6 등이지만, 부호화/복호화 순서는 I1, P4, B2, B3, P6 등이다.
도 24에서(추후 설명될 도 28 내지 도 31 및 도 36에서와 같이), 각 VOP에 대한 VOP_time_increment는 정사각형내에 포함된 숫자(ms의 단위로)에 의해 나타내진다. modulo_time_base로 나타내지는 동기화 시점의 교환은 ▼의 표시로 나타내진다. 그러므로, 도 24에서, I1, B2, B3, P4, B5, 및 P6에 대한 VOP_time_increment는 350 ms, 400 ms, 800 ms, 550 ms, 400 ms, 및 350 ms이고, P4 및 P6에서는 동기화 시점이 교환된다.
이제, 도 24에서, I1에 대한 VOP_time_increment는 350 ms이다. 그러므로, I1의 부호화/복호화 시간은 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점으로부터 350 ms 이후의 시간이다. I1의 부호화/복호화 시작 직후에, 시작 시간(부호화/복호화 시작 시간)(t0)은 동기화 지점이 됨을 주목한다. 그러므로, I1의 부호화/복호화 시간은 시작 시간(부호화/복호화 시작 시간)(t0)으로부터 350 ms 이후의 시간 (t0 + 350 ms)이 된다.
또한, B2 또는 B3의 부호화/복호화 시간은 마지막으로 부호화/복호화된 I-VOP 또는 P-VOP 이래로 경과된 VOP_time_increment의 시간이다. 이 경우에서는 마지막으로 부호화/복호화된 I1의 부호화/복호화 시간이 (t0 + 350 ms)이므로, B2 또는 B3의 부호화/복호화는 400 ms 또는 800 ms 이후인 시간 (tO + 750 ms) 또는 (t0 + 1200 ms)이다.
다음에, P4에 대해, modulo_time_base로 나타내지는 동기화 시점은 P4에서 교환된다. 그러므로, 동기화 시점은 시간 (t0 + 1 sec)이다. 그 결과로, P4의 부호화/복호화 시간은 시간 (t0 + 1 sec)으로부터 550 ms 이후인 시간 ((t0 + 1) sec + 550 ms)이다.
B5의 부호화/복호화 시간은 마지막으로 부호화/복호화된 I-VOP 또는 P-VOP 이래로 경과된 VOP_time_increment의 시간이다. 이 경우에서는 마지막으로부호화/복호화된 P4의 부호화/복호화 시간이 ((t0 + 1) sec + 550 ms)이므로, B5의 부호화/복호화 시간은 400 ms 이후인 시간 ((t0 + 1) sec + 950 ms)이다.
다음에, P6에 대해, modulo_time_base로 나타내지는 동기화 시점은 P6에서 교환된다. 그러므로, 동기화 시점은 시간 (t0 + 2 sec)이다. 그 결과로, P6의 부호화/복호화 시간은 시간 (t0 + 2 sec)으로부터 350 ms 이후인 시간 ((t0 + 2) sec + 350 ms)이다.
VM-6.0에서, modulo_time_base로 나타내지는 동기화 시점의 교환은 I-VOP 및 P-VOP에 대해서만 허용되고 B-VOP에 대해서는 허용되지 않음을 주목한다.
또한, VM-6.0은 I-VOP 및 P-VOP에 대해 VOP_time_increment가 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 시점으로부터의 시간이고, B-VOP에 대해서는 VOP_time_increment가 마지막으로 부호화/복호화된 I-VOP 또는 P-VOP에 의해 표시되는 동기화 시점으로부터의 상대적인 시간임을 언급한다. 이는 주로 다음의 이유로 인한 것이다. 즉, B-VOP는 디스플레이 순서에서 B-VOP과 교차하여 배열된 I-VOP 또는 P-VOP를 기준 영상으로 사용함으로서 예측 부호화된다. 그러므로, I-VOP 또는 P-VOP에 대한 시간상 거리는, 예측 부호화를 실행할 때 기준 영상으로 사용되는 I-VOP 또는 P-VOP에 대한 가중치가 B-VOP와 교차하여 배열된 I-VOP 또는 P-VOP에 대한 시간상 거리를 근거로 B-VOP로부터 결정되도록 B-VOP에 대한 VOP_time_increment로 설정된다. 이것이 주원인이다.
부수적으로, 상술된 VM-6.0의 VOP_time_increment 정의는 불편한 점을 갖는다. 즉, 도 24에서, B-VOP에 대한 VOP_time_increment는 B-VOP 직전에 부호화/복호화된 I-VOP 또는 P-VOP로부터의 상대 시간이 아니라, 마지막으로 디스플레이된 I-VOP 또는 P-VOP로부터의 상대 시간이다. 이는 다음의 이유로 인한 것이다. 예를 들어, B2 또는 B3를 고려해 본다. B2 또는 B3 직전에 부호화/복호화되는 I-VOP 또는 P-VOP는 상술된 부호화/복호화 순서의 관점에서 P4이다. 그러므로, B-VOP에 대한 VOP_time_increment가 B-VOP 직전에 부호화/복호화된 I-VOP 또는 P-VOP로부터의 상대 시간이라 가정할 때, B2 또는 B3에 대한 VOP_time_increment는 P4의 부호화/복호화 시간으로부터의 상대 시간이어서, 음의 값이 된다.
한편, MPEG-4 표준에서는 VOP_time_increment가 10 비트이다. VOP_time_increment가 0 보다 크거나 같은 값만을 가지면, 이는 0 내지 1023의 범위에서 값을 표현할 수 있다. 그러므로, 인접한 동기화 지점간의 위치는 이전의 시간상 동기화 지점(도 24에서 좌측 방향으로)을 기준으로 하여 ms 단위로 나타내질 수 있다.
그러나, VOP_time_increment가 0 보다 크거나 같은 값 뿐만 아니라 음의 값을 갖도록 허용되면, 인접한 동기화 지점간의 위치는 이전의 시간상 동기화 지점을 기준으로 하여 나타내지거나, 다음의 시간상 동기화 지점을 기준으로 하여 나타내진다. 이러한 이유로, VOP의 부호화 시간 또는 복호화 시간을 계산하는 처리는 복잡해진다.
그러므로, 상술된 바와 같이, VOP_time_increment에 대해 VM-6.0은 다음과 같이 언급한다:
이 값은 지방시 시간축상를 ms의 단위로 나타낸다. I- 및 P-VOP에 대해, 이 값은마지막 modulo_time_base에 의해 표시되는 동기화 지점으로부터의 절대적인 VOP_time_increment이다. B-VOP에 대해, 이 값은 마지막으로 부호화/복호화된 I- 또는 P-VOP로부터의 상대적인 VOP_time_increment이다.
그러나, 마지막 문장 "B-VOP에 대해, 이 값은 마지막으로 부호화/복호화된 I- 또는 P-VOP로부터의 상대적인 VOP_time_increment이다"는 "B-VOP에 대해, 이 값은 마지막으로 디스플레이된 I- 또는 P-VOP로부터의 상대적인 VOP_time_increment이다"로 바뀌어야 한다. 이로 인해, VOP_time_increment는 마지막으로 부호화/복호화된 I-VOP 또는 P-VOP로부터의 상대적인 시간으로 정의되지 말고, 마지막으로 디스플레이된 I- 또는 P-VOP로부터의 상대적인 시간으로 정의되어야 한다.
VOP_time_increment를 이 방식으로 정의함으로서, B-VOP에 대한 부호화/복호화 시간의 계산 근거는 B-VOP 이전에 디스플레이 시간을 갖는 I/P-VOP (I-VOP 또는 P-VOP)의 디스플레이 시간이다. 그러므로, B-VOP에 대한 VOP_time_increment는 B-VOP에 대한 기준 영상 I-VOP가 B-VOP 이전에 디스플레이되지 않는 한, 항상 양의 값을 갖는다. 그러므로, I/P-VOP에 대한 VOP_time_increment도 또한 항상 양의 값을 갖는다.
또한, 도 24에서, VM-6.0의 정의는 modulo_time_base 및 VOP_time_increment로 나타내지는 시간이 VOP의 부호화/복호화 시간이 아니라 VOP의 디스플레이 시간이 되도록 더 변한다. 즉, 도 24에서, VOP의 시퀀스에서 절대 시간이 고려될 때, 식 (1)내의 tEST(I/P) 및 식 (2)내의 tDTB(I/P)는 각각 I-VOP 또는 P-VOP의 시퀀스에서 주어지는 절대 시간을 나타내고, 식 (1)의 tEST(B) 및 식 (2)내의 tDTB(B)는각각 B-VOP의 시퀀스에서 주어지는 절대 시간을 나타낸다.
다음에, VM-6.0에서, 식 (1)의 인코더 시간 기초의 시작 시간 (tEST)은 부호화되지 않지만, modulo_time_base 및 VOP_time_increment는 인코더 시간 기초의 시작 시간(tEST)과 각 VOP의 디스플레이 시간(VOP의 시퀀스에서 주어지는 VOP의 위치를 나타내는 절대 시간) 사이의 차이 정보로 부호화된다. 이러한 이유로, 디코더측에서, VOP간의 상대적인 시간은 modulo_time_base 및 VOP_time_increment를 사용해 결정될 수 있지만, 각 VOP의 절대적인 디스플레이 시간, 즉 VOP의 시퀀스에서 각 VOP의 위치는 결정될 수 없다. 그러므로, modulo_time_base 및 VOP_time_increment만으로는 비트열로의 억세스, 즉 랜덤 억세스를 실행할 수 없다.
한편, 인코더 시간 기초의 시작 시간(tEST)이 단순히 부호화되면, 디코더는 부호화된 tEST를 사용하여 각 VOP의 절대 시간을 복호화할 수 있다. 그러나, 부호화된 비트열의 헤드로부터 인코더 시간 기초의 시작 시간(tEST) 및 각 VOP의 상대적인 시간 정보인 modulo_time_base와 VOP_time_increment를 복호화함으로서, 누적된 절대 시간을 제어할 필요가 있다. 이는 다소 번거로우므로, 효과적인 랜덤 억세스가 실행될 수 없다.
그래서, 본 발명의 실시예에서는 효과적인 랜덤 억세스를 쉽게 실행하도록 VOP 시퀀스에서 주어지는 절대 시간을 부호화하기 위한 층이 VM-6.0의 부호화 비트열의 계층 구조로 주어진다. (이 층은 스케일러빌리티를 실현하는 층(상술된 기본 계층이나 고위 계층)이 아니고, 부호화 비트열의 층이다.) 이 층은 부호화된 비트열의 헤드 뿐만 아니라 적절한 위치에 삽입될 수 있는 부호화 비트열층이다.
이 층으로, 본 실시예는 예를 들어, MPEG-1/2 표준에서 사용되는 GOP(group of picture)층과 같은 방식으로 규정된 층을 제시한다. 이로 인해, 원래의 부호화 비트열층이 MPEG-4 표준에서 사용되는 경우와 비교해, MPEG-4 표준과 MPEG-1/2 표준 사이의 호환성이 증진될 수 있다. 새롭게 제시된 이 층은 GOV (또는 영상 객체 평면 그룹(GVOP))라 칭하여진다.
도 25는 VOP의 시퀀스에서 주어지는 절대 시간을 부호화하기 위해 GOV층이 제시된 부호화 비트열의 구성을 도시한다.
GOV층은 부호화 비트열의 헤드 뿐만 아니라 부호화 비트열의 임의의 위치에 삽입될 수 있도록 VOL층과 VOP층 사이에 규정된다.
이로 인해, (VOL#0)이 (VOP#0), (VOP#1), ..., (VOP#n), (VOP#(n+1)), ..., 및 (VOP#m)과 같은 VOP 시퀀스로 구성되는 경우에, GOV층은 예를 들어, 헤드(VOP#0) 직전 뿐만 아니라 (VOP#(n+1)) 직전에 삽입될 수 있다. 그러므로, 인코더에서, GOV층은 예를 들어, 랜덤 억세스가 실행되는 부호화 비트열의 위치에 삽입될 수 있다. 그러므로, GOV층을 삽입함으로서, 특정한 VOL을 구성하는 VOP 시퀀스는 다수의 그룹(이후 필요한 경우 GOV라 칭하여지는)으로 분리되어 부호화된다.
GOV층의 구문은 예를 들면, 도 26에 도시된 바와 같이 정의된다.
도면에 도시된 바와 같이, GOV층은 시퀀스적으로 배열된 group_start_code, time_code, closed_gop, broken_link, 및 next_start_code()로 구성된다.
다음에는 GOV층의 의미에 대한 설명이 주어진다. GOV층의 의미는 기본적으로 MPEG-2 표준에서의 GOP층과 똑같다. 그러므로, 여기서 설명되지 않은 부분에 대해서는 MPEG-2 비디오 표준(ISO/IEC-13818-2)을 참고한다.
group_start_code는 0000001B8 (16진수)이고, GOV의 시작 위치를 나타낸다.
time_code는 도 27에 도시된 바와 같이, 1-비트의 drop_frame_flag, 5-비트의 time_code_hours, 6-비트의 time_code_minutes, 1-비트의 marker_bit, 6-비트의 time_code_seconds, 및 6-비트의 time_code_pictures로 구성된다. 이와 같이, time_code는 총합 25 비트로 구성된다.
time_code는 IEC 표준 공표 461에서 규정된 "비디오 테이프 기록계에 대한 시간 및 제어 코드"와 동일하다. 여기서, MPEG-4 표준은 비디오의 프레임 비율에 대한 개념을 갖지 않는다. (그러므로, VOP는 임의의 시간에 나타내질 수 있다.) 그러므로, 본 실시예는 time_code가 drop_frame_mode에서 설명되는가 여부를 나타내는 drop_frame_flag의 이점을 갖지 않고, 예를 들어, 그 값이 0으로 고정된다. 또한, 본 실시예는 같은 이유로 time_code_pictures의 이점을 갖지 않고, 예를 들어, 그 값이 0으로 고정된다. 그러므로, 여기서 사용되는 time_code는 시간의 시단위를 나타내는 time_code_hours, 시간의 분단위를 나타내는 time_code_minutes, 및 시간의 초단위를 나타내는 time_code_seconds로 GOV의 헤드 시간을 나타낸다. 그 결과로, GOV층내의 time_code (초단위-정확도의 부호화 시작 절대 시간)는 1초의 정확도내에서, GOV층의 헤드 시간, 즉 GOV층의 부호화가 시작될 때의 VOP 시퀀스에 대한 절대 시간을 표시한다. 이러한 이유로, 본 발명의 본 실시예는 각 VOP에 대해 1초 보다 더 세밀한 정확도내에서(여기서는 ms) 시간을 설정한다.
time_code내의 marker_bit는 부호화 비트열에서 23개 이상의 0이 계속되지 않도록 1로 이루어진다.
closed_gop는 MPEG-2 비디오 표준(ISO/IEC 13818-2)으로 close_gop을 정의할 때 I-, P-, 및 B-화상이 각각 I-VOP, P-VOP, 및 B-VOP로 대치된 것을 의미한다. 그러므로, 한 VOP내의 B-VOP는 GOV를 구성하는 VOP 뿐만 아니라 VOP가 기준 영상으로서 또 다른 GOV내의 VOP로 부호화되었나 여부를 나타낸다. 여기서, MPEG-2 비디오 표준(ISO/IEC 13818-29)으로 close_gop을 정의하기 위해, 상술된 대치를 실행하는 문장은 다음과 같이 도시된다:
이는 평면 헤더의 그룹에 이어서 첫 번째 부호화된 I-VOP 직후의 첫 번째 연속적인 B-VOP(있는 경우)에서 사용되는 예측의 특성을 나타내는 1-비트의 플래그이다. 이들 B-VOP가 후방 예측이나 인트라 부호화만을 사용해 부호화되었음을 나타낼 때는, closed_gop가 1로 설정된다. 이 비트는 부호화 이후에 발생되는 편집 동안에 사용되도록 제공된다. 편집에 의해 이전 화상이 제거되면, broken_link는 디코더가 평면 헤드의 그룹에 이어서 제 1 I-VOP 이후에 이들 B-VOP를 디스플레이하는 것을 방지하도록 1로 설정된다. 그러나, closed_gop 비트가 1로 설정되면, 편집기는 broken_link 비트를 설정하지 않는 것을 선택하여 이들 B-VOP가 정확하게 복호화될 수 있다.
broken_link는 또한 MPEG-2 비디오 표준(ISO/IEC 13818-29)에서 broken_link의 정의에 closed_gop의 경우에서와 같은 대치가 실행된 것을 의미한다. 그러므로, broken_link는 GOV의 헤드 B-VOP가 정확하게 재생될 수 있는가 여부를 나타낸다. 여기서, MPEG-2 비디오 표준(ISO/IEC 13818-29로 broken_link를 정의하기 위해, 상술된 대치를 실행하는 문장은 다음과 같이 도시된다:
이는 부호화 동안 0으로 설정될 1-비트의 플래그이다. 이는 예측을 위해 사용되는 기준 프레임이 이용가능하지 않기 때문에(편집 작용 때문에), 평면 헤더의 그룹에 이어서 첫 번째로 부호화되는 I-VOP 직후의 첫 번째 연속적인 B-VOP(있는 경우)가 정확히 복호화되지 않음을 나타내도록 1로 설정된다. 디코더는 정확하게 복호화될 수 없는 프레임을 디스플레이하는 것을 방지하는데 이 플래그를 사용한다.
next_start_code()는 다음 GOV의 헤드 위치를 제공한다.
GOV층을 제시하고 또한 GOV층의 부호화를 시작하는 GOV 시퀀스내의 상술된 절대 시간(이후 필요한 경우 부호화 시작 절대 시간이라 칭하여지는)은 GOV의 time_code로 설정된다. 또한, 상술된 바와 같이, GOV층내의 time_code는 1초내의 정확도를 가지므로, 본 실시예는 각 VOP에 대해 VOP 시퀀스에 주어지는 각 VOP의 절대 시간으로 더 세밀한 정확도 부분을 설정한다.
도 28은 도 26의 GOV층이 제시된 경우에 time_code, modulo_time_base, 및 VOP_time_increment 사이의 관계를 도시한다.
도면에서, GOV는 헤드로부터 디스플레이 순서로 배열된 I1, B2, B3, P4, B5, 및 B6으로 구성된다.
이제, 예를 들어, GOV의 부호화 시작 절대 시간이 0h:12m:35sec:350msec (0시간 12분 35초 350 ms)라 가정하면, GOV의 time_code는 상술된 바와 같이 1초내의 정확도를 가지기 때문에 0h:12m:35sec로 설정된다. (time_code를 구성하는time_code_hours, time_code_minutes, 및 time_code_seconds는 각각 0, 12, 및 35로 설정된다.) 한편, VOP 시퀀스내의 I1의 절대 시간(도 28의 GOV를 포함하는 VS의 부호화 이전(또는 복호화 이후)의 VOP 시퀀스의 절대 시간) (VOP 시퀀스가 디스플레이될 때 이는 I1의 디스플레이 시간과 동일하므로, 이후 필요한 경우 디스플레이 시간이라 칭하여진다)가 예를 들어, 0h:12m:35sec:350ms인 경우에, VOP_time_increment의 의미는 1초의 정확도 보다 더 세밀한 정확도인 350 ms가 I1의 I-VOP의 VOP_time_increment에 설정되어 복호화되도록(즉, 부호화가 I1의 VOP_time_increment = 350으로 실행되도록) 변한다.
즉, 도 28에서, 디스플레이 순서로 GOV의 헤드 I-VOP(I1)의 VOP_time_increment는 GOV의 time_code와 I-VOP의 디스플레이 시간 사이의 차이값을 갖는다. 그러므로, time_code로 나타내지는 1초의 정확도내의 시간은 GOV의 제 1 동기화 시점(여기서는 1초의 정확도내에서 시간을 나타내는 시점)이다.
도 28에서, 두 번째 이후로 배열된 VOP인 GOV의 B2, B3, P4, B5, 및 P6에 대한 VOP_time_increment의 의미는 도 24에서 설명된 바와 같이, VM-6.0의 정의가 변한 것과 같음을 주목한다.
그러므로, 도 28에서, B2 또는 B3의 디스플레이 시간은 마지막으로 디스플레이된 I-VOP 또는 P-VOP 이래로 VOP_time_increment가 경과된 시간이다. 이 경우에서는 마지막으로 디스플레이된 I1의 디스플레이 시간이 0h:12m:35s:350ms이므로, B2 또는 B3의 디스플레이 시간은 400 ms 또는 800 ms 이후인 0h:12m:35s:750ms 또는 0h:12m:36s:200ms이다.
다음에, P4에 대해, modulo_time_base로 나타내지는 동기화 지점은 P4에서 교환된다. 그러므로, 동기화 시점의 시간은 0h:12m:35s로부터 1초 이후인 0h:12m:36s이다. 그 결과로, P4의 디스플레이 시간은 0h:12m:36s로부터 550 ms 이후인 0h:12m:36s:550ms이다.
B5의 디스플레이 시간은 마지막으로 디스플레이된 I-VOP 또는 P-VOP 이래로 VOP_time_increment가 경과된 시간이다. 이 경우에, B5의 디스플레이 시간은 마지막으로 디스플레이된 P4의 디스플레이 시간 0h:12m:36s:550ms로부터 400 ms 이후인 0h:12m:36s:950ms이다.
다음에, P6에 대해, modulo_time_base로 나타내지는 동기화 시점은 P6에서 교환된다. 그러므로, 동기화 시점의 시간은 0h:12m:35s + 2 sec, 즉 0h:12m:37s이다. 그 결과로, P6의 디스플레이 시간은 0h:12m:37s로부터 350 ms 이후인 0h:12m:37s:350ms이다.
다음에, 도 29는 GOV의 헤드 VOP가 디스플레이 순서로 B-VOP인 경우에서 time_code, modulo_time_base, 및 VOP_time_increment 사이의 관계를 도시한다.
도면에서, GOV는 헤드로부터 디스플레이 순서로 배열된 B0, I1, B2, B3, P4, B5, 및 P6으로 구성된다. 즉, 도 29에서는 GOV가 도 28에서의 I1 앞에 B0를 부가하여 구성된다.
이 경우에, GOV의 헤드(B0)에 대한 VOP_time_increment가 표준으로서 GOV의 I/P-VOP의 디스플레이 시간으로 결정된다고 가정하면, 즉, 예를 들어 표준으로서 I1의 디스플레이 시간으로 결정된다고 가정하면, 그 값은 음의 값이 되어, 상술된바와 같이 불편하게 된다.
그래서, GOV내의 I-VOP에 앞서 디스플레이된 B-VOP(먼저 디스플레이된 GOV내의 I-VOP에 앞서 디스플레이된 B-VOP)에 대한 VOP_time_increment의 의미는 다음과 같이 변한다.
즉, 이러한 B-VOP에 대한 VOP_time_increment는 GOV의 time_code와 B-VOP의 디스플레이 시간 사이의 차이값을 갖는다. 이 경우에, BO의 디스플레이 시간이 예를 들어, 0h:12m:35s:200ms일 때와, GOV의 time_code가 예를 들어, 도 29에 도시된 바와 같이 0h:12m:35s일 때, BO에 대한 VOP_time_increment는 350 ms(= 0h:12m:35s:200ms - 0h:12m:35s)이다. 이러한 방식으로 행하면, VOP_time_increment는 항상 양의 값을 갖게 된다.
상술된 VOP_time_increment의 의미에서의 두가지 변화로, GOV의 time_code와 VOP의 modulo_time_base 및 VOP_time_increment는 서로 상관될 수 있다. 또한, 이로 인해, 각 VOP의 절대 시간(디스플레이 시간)이 지정될 수 있다.
다음에, 도 30은 I-VOP의 디스플레이 시간과 I-VOP로부터 예측된 B-VOP의 디스플레이 시간 사이의 간격이 1 sec(정확하게 말하면, 1.023 sec) 보다 크거나 같은 경우에 GOV의 time_code와 VOP의 modulo_time_base 및 VOP_time_increment 사이의 관계를 도시한다.
도 30에서, GOV는 디스플레이 순서로 배열된 I1, B2, B3, B4, 및 P6으로 구성된다. B4는 마지막으로 디스플레이된 I1 (I-VOP)의 디스플레이 시간으로부터 1 sec 이후의 시간에 디스플레이된다.
이 경우에, 의미가 변한 상술된 VOP_time_increment에 의해 B4의 디스플레이 시간이 부호화될 때, VOP_time_increment는 상술된 바와 같이 10 비트이고, 1023 까지의 시간만을 표시할 수 있다. 이러한 이유로, 이는 1.023 sec 보다 더 긴 시간을 표시할 수 없다. 그래서, VOP_time_increment의 의미는 더 변하고, 또한 modulo_time_base의 의미는 이러한 경우를 처리하도록 순서가 변한다.
본 실시예에서, 이러한 변화는 예를 들어, 다음의 제 1 방법이나 제 2 방법에 의해 실행된다.
즉, 제 1 방법에서는 I/P-VOP의 디스플레이 시간과 I/P-VOP로부터 예측된 B-VOP의 디스플레이 시간 사이의 시간이 1초의 정확도내에서 검출된다. 그 시간에서, 초단위는 modulo_time_base로 표시되고, ms 단위는 VOP_time_increment로 표시된다.
도 31은 modulo_time_base 및 VOP_time_increment가 제 1 방법에 따라 도 30에 도시된 경우에서 부호화된 경우에, GOV에 대한 time_code와 VOP에 대한 modulo_time_base 및 VOP_time_increment 사이의 관계를 도시한다.
즉, 제 1 방법에서는 modulo_time_base의 부가가 I-VOP 및 P-VOP에 대해서 뿐만 아니라 B-VOP에 대해서도 허용된다. 또한, B-VOP에 부가된 modulo_time_base는 동기화 시점의 교환을 나타내지 않지만, 마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간으로부터 구해진 초단위의 자리올림(carry)을 나타낸다.
또한, 제 1 방법에서, B-VOP에 부가된 modulo_time_base로 나타내지는, 마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간으로부터 초단위의 자리올림 이후의 시간은 B-VOP의 디스플레이 시간으로부터 감산되고, 결과의 값은 VOP_time_increment로 설정된다.
그러므로, 제 1 방법에 따라, 도 30에서, I1의 디스플레이 시간이 0h:12m:35s:350ms이고 또한 B4의 디스플레이 시간이 0h:12m:36s:550ms이라 가정하면, I1 및 B4의 디스플레이 시간 사이의 차이는 1 sec 보다 많은 1200 ms이므로, 마지막으로 디스플레이된 I1의 디스플레이 시간으로부터 초단위의 자리올림을 나타내는 modulo_time_base (도 31에서 "▼" 표시로 도시된)는 도 31에 도시된 바와 같이 B4에 부가된다. 특별히, B4에 부가된 modulo_time_base는 1200 ms의 1 sec 디지트의 값인 1 sec의 자리올림을 나타내는 10이다. 또한, B4에 대한 VOP_time_increment는 I1과 B4간의 디스플레이 시간 사이의 차이로부터 구해진, 1 sec 보다 작은 값인 200이다 (그 값은 B4에 대한 modulo_time_base로 나타내지는 마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간으로부터 구해진 초단위의 자리올림 이후의 시간을 B4의 디스플레이 시간으로부터 감산함으로서 구해진다).
제 1 방법에 따른 modulo_time_base 및 VOP_time_increment에 대한 상기 처리는 도 11 및 도 12에 도시된 VLC 유닛(36)에 의해 인코더에서 실행되고, 도 17 및 도 18에 도시된 IVLS 유닛(102)에 의해 디코더에서 실행된다.
그래서, 먼저, VLC 유닛(36)에 의해 실행되는 modulo_time_base 및 VOP_time_increment에 대한 처리가 도 32의 흐름도를 참고로 설명된다.
VLC 유닛(36)은 VOP 시퀀스를 GOV로 나누고, 각 GOV에 대해 처리를 실행한다. GOV는 인트라 부호화에 의해 부호화되는 적어도 하나의 VOP를 포함하도록 구성된다.
GOV가 수신되면, VLC 유닛(36)은 수신된 시간을 GOV의 부호화 시작 절대 시간으로 설정하고, GOV는 time_code로서 부호화 시작 절대 시간의 초단위 정확도까지 부호화된다 (초의 디지트 까지의 부호화 시작 절대 시간이 부호화된다). 부호화된 time_code는 부호화 비트열에 포함된다. GOV를 구성하는 I/P-VOP가 수신될 때마다, VLC 유닛(36)은 그 I/P-VOP를 주의(attention) I/P-VOP로 설정하고, 도 32의 흐름도에 따라 주의 I/P-VOP의 modulo_time_base 및 VOP_time_increment를 계산하고, 또한 부호화를 실행한다.
즉, VLC 유닛(36)에서는 먼저, 단계(S1)에서, 0B(여기서, B는 이진수를 나타낸다)가 modulo_time_base로 설정되고, 또한 0이 VOP_time_increment로 설정되어, 그에 의해 modulo_time_base 및 VOP_time_increment가 재설정된다.
그리고, 단계(S2)에서는 주의(attention) I/P-VOP가 처리되는 GOV(이후 처리 객체 GOV라 칭하여지는)의 제 1 I-VOP인가 여부를 판단한다. 단계(S2)에서, 주의 I/P-VOP가 처리 객체 GOV의 제 1 I-VOP인 것으로 판단되면, 단계(S2)는 단계(S4)로 진행된다. 단계(S4)에서는 처리 객체 GOV의 time_code와 주의 I/P-VOP(여기서는 처리 객체 GOV내의 제 1 I-VOP)의 초단위-정확도 사이의 차이, 즉 주의 I/P-VOP의 디스플레이 시간 중 초단위 디지트와 time_code 사이의 차이가 계산되어 변수(D)로 설정된다. 이어서, 단계(S4)는 단계(S5)로 진행한다.
또한, 단계(S2)에서, 주의 I/P-VOP가 처리 객체 GOV의 제 1 I-VOP가 아닌 것으로 판독된 경우에, 단계(S2)는 단계(S3)로 진행된다. 단계(S3)에서는 주의 I/O-VOP의 디스플레이 시간 중 초단위의 디스크와 마지막으로 디스플레이된 I/P-VOP(주의 직전에 디스플레이된. 처리 객체 GOV를 구성하는 VOP의 I/P-VOP)의 디스플레이 시간 중 초단위의 디지트 사이의 차이값이 계산되고, 그 차이값은 변수(D)로 설정된다. 이어서, 단계(S3)는 단계(S5)로 진행된다.
단계(S5)에서는 변수(D)가 0인가 여부를 판단한다. 즉, 주의 I/P-VOP의 디스플레이 시간 중 초단위의 디지트와 time_code 사이의 차이가 0인가 여부를 판단하거나, 주의 I/P-VOP의 디스플레이 시간 중 초단위의 디지트와 마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간 중 초단위의 디지트 사이의 차이값이 0인가 여부를 판단한다. 단계(S5)에서, 변수(D)가 0이 아니라고 판단되는 경우, 즉 변수(D)가 1 보다 크거나 같은 경우, 단계(S5)는 단계(S6)로 진행되어, modulo_time_base의 최상위 비트(MSB)에 1이 부가된다. 즉, 이 경우에는 재설정 직후에 modulo_time_base가 예를 들어 0B일 때, 10B로 설정된다. 또한, modulo_time_base가 예를 들어 10B일 때는 110B로 설정된다.
그리고, 단계(S6)는 단계(S7)로 진행되어, 변수(D)가 1 만큼 증가된다. 이어서, 단계(S7)는 단계(S5)로 복귀된다. 이후에, 단계(S5) 내지 (S7)는 단계(S5)에서 변수(D)가 0인 것으로 판단될 때까지 반복된다. 즉, modulo_time_base에서 연속적인 1의 수가 주의 I/P-VOP의 디스플레이 시간 중 초단위의 디지트와 time_code 사이의 차이 또는 주의 I/P-VOP의 디스플레이 시간 중 초단위의 디지트와 마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간 중 초단위의 디지트 사이의 차이값에 대응하는 초의 수와 같다. modulo_time_base는 최하위 비트(LSD)에 0을 갖는다.
그리고, 단계(S5)에서, 변수(D)가 0인 것으로 판단되는 경우에, 단계(S5)는 단계(S8)로 진행되어, 주의 I/P-VOP의 디스플레이 시간 중 초단위의 정확도 보다 더 세밀한 시간, 즉 ms 단위의 시간이 VOP_time_increment로 설정되고, 처리 과정은 종료된다.
VLC 회로(36)에서, 상술된 방법으로 계산된 주의 I/P-VOP의 modulo_time_base 및 VOP_time_increment는 주의 I/P-VOP에 부가된다. 이로 인해, 부호화 비트열에 포함된다.
modulo_time_base, VOP_time_increment, 및 time_code는 가변 단어길이 부호화에 의해 VLC 회로(36)에서 부호화됨을 주목한다.
처리 객체 GOV를 구성하는 B-VOP가 수신될 때마다, VLC 유닛(36)은 B-VOP를 주의 B-VOP로 설정하고, 도 33의 흐름도에 따라 주의 B-VOP의 modulo_time_base 및 VOP_time_increment를 계산하고, 또한 부호화를 실행한다.
즉, VLC 유닛(36)에서는 단계(S11)에서 도 32의 단계(S1)와 같이, modulo_time_base 및 VOP_time_increment가 먼저 재설정된다.
그리고, 단계(S11)는 단계(S12)로 진행되어, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP에 앞서 디스플레이되는가 여부를 판단한다. 단계(S12)에서, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP에 앞서 디스플레이된 것으로 판단되는 경우, 단계(S12)는 단계(S14)로 진행된다. 단계(S14)에서는 처리 객체 GOV의 time_code와 주의 B-VOP(여기서, 처리 객체 GOV의 제 1 I-VOP에 앞서 디스플레이된 B-VOP)의 디스플레이 시간 사이의 차이가 계산되어 변수(D)로 설정된다. 이어서, 단계(S13)는 단계(S15)로 진행된다. 그러므로, 도 33에서는 ms의 정확도내의 시간(ms 디지트까지의 시간)이 변수(D)로 설정된다 (한편, 상술된 바와 같이, 도 32에서는 1초의 정확도내의 시간이 변수로 설정된다).
또한, 단계(S12)에서, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP 이후에 디스플레이된 것으로 결정되면, 단계(S12)는 단계(S14)로 진행한다. 단계(S14)에서는 주의 B-VOP의 디스플레이 시간과 마지막으로 디스플레이된 I/P-VOP(처리 객체 GOV를 구성하는 VOP 중 주의 B-VOP 직전에 디스플레이된)의 디스플레이 시간 사이의 차이값이 계산되고, 차이값은 변수(D)로 설정된다. 이어서, 단계(S13)는 단계(S15)로 진행된다.
단계(S15)에서는 변수(D)가 1 보다 큰가 여부를 판단한다. 즉, 주의 B-VOP의 디스플레이 시간과 time_code 사이의 차이값이 1 보다 큰가 여부를 판단하거나, 주의 B-VOP의 디스플레이 시간과 마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간 사이의 차이값이 1 보다 큰가 여부를 판단한다. 단계(S15)에서, 변수(D)가 1 보다 더 큰 것으로 판단되는 경우, 단계(S15)는 단계(S17)로 진행되어, modulo_time_base의 최상위 비트(MSB)에 1이 부가된다. 단계(S17)에서는 변수(D)가 1 만큼 감소된다. 이어서, 단계(S17)는 단계(S15)로 복귀된다. 단계(S15)에서 변수(D)가 1 보다 더 크지 않은 것으로 판단될 때까지, 단계(S15) 내지 (S17)는 반복된다. 즉, 이로 인해, modulo_time_base에서 연속적인 1의 수는 주의 B-VOP의 디스플레이 시간과 time_code 사이의 차이 또는 주의 B-VOP의 디스플레이 시간과마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간 사이의 차이값에 대응하는 초의 수와 같다. 또한, modulo_time_base는 최하위 비트(LSD)에 0을 갖는다.
단계(S15)에서, 변수(D)가 1 보다 크지 않은 것으로 판단되는 경우에, 단계(S15)는 단계(S18)로 진행되어, 현재 변수(D)의 값, 즉 주의 B-VOP의 디스플레이 시간과 time_code 사이의 차이값 또는 주의 B-VOP의 디스플레이 시간과 마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간 사이의 차이값의 초단위 디지트의 우측에 있는 ms 단위 디지트가 VOP_time_increment로 설정되고, 처리 과정은 종료된다.
VLC 회로(36)에서는 상술된 방법으로 계산된 주의 B-VOP의 modulo_time_base 및 VOP_time_increment가 주의 B-VOP에 부가된다. 이로 인해 부호화 비트열에 포함된다.
다음에, 각 VOP에 대한 부호화 데이터가 수신될 때마다, IVLC 유닛(102)은 VOP를 주의 VOP로 처리한다. 이 처리로, IVLC 유닛(102)은 VOP 시퀀스를 GOV로 나누고 또한 상술된 방식으로 각 GOV를 처리함으로서 VLC 유닛(36)이 출력한 부호화열에 포함된 VOP의 디스플레이 시간을 인식한다. 이어서, IVLC 유닛(102)은 VOP가 인식된 디스플레이 시간에 디스플레이되도록 가변 단어길이 부호화를 실행한다. 즉, GOV가 수신되면, IVLC 유닛(102)은 GOV의 time_code를 인식하게 된다. GOV를 구성하는 I/P-VOP가 수신될 때마다, IVLC 유닛(102)은 I/P-VOP를 주의 I/P-VOP로 설정하고, 도 34의 흐름도에 따라 주의 I/P-VOP의 modulo_time_base 및 VOP_time_increment를 근거로, 주의 I/P-VOP의 디스플레이 시간을 계산한다.
즉, IVLC 유닛(102)에서는 먼저, 단계(S21)에서 주의 I/P-VOP가 처리 객체 GOV의 제 1 I-VOP인가 여부를 판단한다. 단계(S21)에서, 주의 I/P-VOP가 처리 객체 GOV의 제 1 I-VOP인 것으로 판단하면, 단계(S21)는 단계(S23)로 진행된다. 단계(S23)에서는 처리 객체 GOV의 time_code가 변수(T)로 설정되고, 단계(S23)는 단계(S24)로 진행된다.
또한, 단계(S21)에서, 주의 I/P-VOP가 처리 객체 GOV의 제 1 I-VOP가 아닌 것으로 판단하는 경우, 단계(S21)는 단계(S22)로 진행된다. 단계(S22)에서는 주의 I/P-VOP 직전에 디스플레이되는 마지막으로 디스플레이된 I/P-VOP(처리 객체 GOV를 구성하는 VOP 중 하나인)의 디스플레이 시간 중 초단위 디지트까지의 값이 변수(T)로 설정된다. 이어서, 단계(S22)는 단계(S24)로 진행된다.
단계(S24)에서는 주의 I/P-VOP에 부가된 modulo_time_base가 0B인가 여부를 판단한다. 단계(S24)에서, 주의 I/P-VOP에 부가된 modulo_time_base가 0B가 아닌 것으로 판단되는 경우, 즉 주의 I/P-VOP에 부가된 modulo_time_base가 1을 포함하는 경우, 단계(S24)는 단계(S25)로 진행되어, modulo_time_base의 MSB에 있는 1이 삭제된다. 단계(S25)는 단계(S26)로 진행되어 변수(T)가 1 만큼 증가된다. 이어서, 단계(S26)는 단계(S24)로 복귀된다. 이후에, 단계(S24)에서 주의 I/P-VOP에 부가된 modulo_time_base가 0B와 같은 것으로 판단될 때까지, 단계(S24) 내지 (S26)가 반복된다. 이로 인해, 변수(T)는 주의 I/P-VOP에 부가된 제 1 modulo_time_base에서 1의 수에 대응하는 초의 수 만큼 증가된다.
단계(S24)에서, 주의 I/P-VOP에 부가된 modulo_time_base가 0B인 경우에, 단계(S24)는 단계(S27)로 진행되어, VOP_time_increment로 나타내지는 ms 단위의 정확도내의 시간이 변수(T)에 부가된다. 부가된 값은 주의 I/P-VOP의 디스플레이 시간으로 인식되고, 처리 과정은 종료된다.
다음에, 처리 객체 GOV를 구성하는 B-VOP가 수신될 때, IVLC 유닛(102)은 B-VOP를 주의 B-VOP로 설정하고, 도 35의 흐름도에 따라 주의 B-VOP의 modulo_time_base 및 VOP_time_increment를 근거로, 주의 B-VOP의 디스플레이 시간을 계산한다.
즉, IVLC 유닛(102)에서는 먼저, 단계(S31)에서 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP에 앞서 디스플레이된 것인가 여부를 판단한다. 단계(S31)에서, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP에 앞서 디스플레이된 것으로 판단되는 경우, 단계(S31)는 단계(S33)로 진행된다. 이후에, 단계(S33) 내지 (S37)에서는 도 34의 단계(S23) 내지 (S27)와 같이, 유사한 처리가 실행되고, 그에 의해 주의 B-VOP의 디스플레이 시간이 계산된다.
한편, 단계(S31)에서, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP 이후에 디스플레이된 것으로 판단되는 경우, 단계(S31)는 단계(S32)로 진행된다. 이후에, 단계(S32) 및 (S34) 내지 (S37)에서는 도 34의 단계(S22) 및 (S24) 내지 (S27)와 같이, 유사한 처리가 실행되고, 그에 의해 주의 B-VOP의 디스플레이 시간이 계산된다.
다음에는 제 2 방법으로, I-VOP의 디스플레이 시간과 그 I-VOP로부터 예측된 B-VOP의 디스플레이 시간 사이의 시간이 초단위 디지트까지 계산된다. 그 값은modulo_time_base로 표시되고, B-VOP의 디스플레이 시간 중 ms의 정확도는 VOP_time_increment로 표시된다. 즉, VM-6.0에서는 상술된 바와 같이, I-VOP 또는 P-VOP까지의 시간상 거리가 B-VOP에 대한 VOP_time_increment로 설정되어, B-VOP의 예측 부호화를 실행할 때 기준 영상으로 사용되는 I-VOP 또는 P-VOP에 상대적인 가중치는 B-VOP에 걸쳐 배열된 I-VOP 또는 P-VOP에 대한 시간상 거리를 근거로 B-VOP로부터 결정된다. 이러한 이유로, I-VOP 또는 P-VOP에 대한 VOP_time_increment는 마지막으로 부호화/복호화된 modulo_time_base에 의해 표시되는 동기화 지점으로부터의 시간과 다르다. 그러나, B-VOP 및, 그 B-VOP에 걸쳐 배열된 I-VOP 또는 P-VOP의 디스플레이 시간이 계산되면, 그들간의 시간상 거리는 그들간의 차이로부터 계산될 수 있다. 그러므로, I-VOP 및 P-VOP에 대한 VOP_time_increment와 분리되어 B-VOP에 대한 VOP_time_increment만을 처리할 필요가 거의 없다. 반대로, 처리 효율성 면에서, I-, B-, 및 P-VOP에 대한 모든 VOP_time_increment(상세한 시간 정보)와, moduol_time_base(초단위-정확도 시간 정보)는 같은 방식으로 처리되는 것이 유리하다.
그래서, 제 2 방법에서는 B-VOP에 대한 modulo_time_base 및 VOP_time_increment가 I/P-VOP에 대한 것과 똑같은 방식으로 처리된다.
도 36은 modulo_time_base 및 VOP_time_increment가 예를 들면, 도 30에 도시된 경우에서 제 2 방법에 따라 부호화된 경우에, GOV에 대한 time_code와 modulo_time_base 및 VOP_time_increment 사이의 관계를 도시한다.
즉, 제 2 방법에서도, I-VOP 및 P-VOP 뿐만 아니라 B-VOP에 대해서도modulo_time_base의 부가가 허용된다. 또한, B-VOP에 부가된 modulo_time_base는 I/P-VOP에 부가된 modulo_time_base와 함께, 동기화 시점의 교환을 나타낸다.
또한, 제 2 방법에서는 B-VOP에 부가된 modulo_time_base로 표시된 동기화 시점의 시간이 B-VOP의 디스플레이 시간으로부터 감산되고, 그 결과의 값은 VOP_time_increment로 설정된다.
그러므로, 제 2 방법에 따라, 도 30에서, GOV의 제 1 동기화 시점(GOV의 time_code로 나타내지는 시간인)과 time_code + 1 sec로 표시되는 동기화 시점 사이에 디스플레이되는 I1 및 B2에 대한 modulo_time_base는 모두 0B이다. I1 및 B2의 디스플레이 시간 중 초단위 보다 더 낮은 ms 단위의 값은 각각 I1 및 B2에 대한 VOP_time_increment로 설정된다. 또한, time_code + 1 sec로 표시되는 동기화 시점과 time_code + 2 sec로 표시되는 동기화 시점 사이에 디스플레이되는 B3 및 B4에 대한 modulo_time_base는 모두 10B이다. B3 및 B4의 디스플레이 시간 중 초단위 보다 더 낮은 ms 단위의 값은 각각 B3 및 B4에 대한 VOP_time_increment로 설정된다. 또한, time_code + 2 sec로 표시되는 동기화 시점과 time_code + 3 sec로 표시되는 동기화 시점 사이에 디스플레이되는 P5에 대한 modulo_time_base는 110B이다. P5의 디스플레이 시간 중 초단위 보다 더 낮은 ms 단위의 값은 P5에 대한 VOP_time_increment로 설정된다.
예를 들어, 도 30에서 상술된 바와 같이, I1의 디스플레이 시간이 0h:12m:35s:350ms이고 B4의 디스플레이 시간이 0h:12m:36s:550ms이면, I1 및 B4에 대한 modulo_time_base는 각각 0B 및 10B이다. 또한, I1 및 B4에 대한VOP_time_increment는 각각 350 ms 및 550 ms(디스플레이 시간 중 ms 단위인)이다.
제 1 방법의 경우와 같이, 제 2 방법에 따라 modulo_time_base 및 VOP_time_increment에 대해 상술된 처리는 도 11 및 도 12에 도시된 VLC 유닛(36)과, 도 17 및 도 18에 도시된 IVLC 유닛(102)에 의해 실행된다.
즉, VLC 유닛(36)은 도 32의 경우와 같은 방식으로 I/P-VOP에 대한 modulo_time_base 및 VOP_time_increment를 계산한다.
또한, B-VOP에 대해, GOV를 구성하는 B-VOP가 수신될 때마다, VLC 유닛(36)은 B-VOP를 주의 B-VOP로 설정하고, 도 37의 흐름도에 따라 주의 B-VOP의 modulo_time_base 및 VOP_time_invrement를 계산한다.
즉, VLC 유닛(36)에서는 먼저, 단계(S41)에서 modulo_time_base 및 VOP_time_increment가 도 32의 단계(S1)의 경우와 같은 방식으로 재설정된다.
단계(S41)는 단계(S42)로 진행되어, 주의 B-VOP가 처리되는 GOV(처리 객체 GOV)의 제 1 I-VOP에 앞서 디스플레이되는 것인가 여부를 판단한다. 단계(S42)에서, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP에 앞서 디스플레이되는 것으로 판단되는 경우, 단계(S42)는 단계(S44)로 진행한다. 단계(S44)에서는 처리 객체 GOV의 time_code와 주의 B-VOP의 초단위-정확도 사이의 차이, 즉 주의 B-VOP의 디스플레이 시간 중 초단위 디지트와 time_code 사이의 차이가 계산되어 변수(D)로 설정된다. 이어서, 단계(S44)는 단계(S45)로 진행된다.
또한, 단계(S42)에서, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP 이후에 디스플레이된 것으로 판단되는 경우, 단계(S42)는 단계(S43)로 진행된다. 단계(S43)에서는 주의 B-VOP의 디스플레이 시간 중 초단위 디지트와 마지막으로 디스플레이되는 I/P-VOP(처리 객체 GOV를 구성하는 VOP 중 하나로, 주의 B-VOP 직전에 디스플레이되는)의 디스플레이 시간 중 초단위 디지트 사이의 차이가 계산되고, 그 차이값은 변수(D)로 설정된다. 이어서, 단계(S43)는 단계(S45)로 진행된다.
단계(S45)에서는 변수(D)가 0인가 여부를 판단한다. 즉, 주의 B-VOP의 디스플레이 시간 중 초단위 디지트와 time_code 사이의 차이가 0인가 여부를 판단하거나, 주의 B-VOP의 디스플레이 시간 중 초단위 디지트와 마지막으로 디스플레이되는 I/P-VOP의 디스플레이 시간 중 초단위 디지트 사이의 차이값이 0인가 여부를 판단한다. 단계(S45)에서, 변수(D)가 0이 아닌 것으로 판단되는 경우, 즉 변수(D)가 1 보다 크거나 같은 경우, 단계(S45)는 단계(S46)로 진행되어, modulo_time_base의 MSB로 1이 부가된다.
단계(S46)는 단계(S47)로 진행되어, 변수(D)가 1 만큼 증가된다. 이어서, 단계(S47)는 단계(S45)로 복귀된다. 이후에는 단계(S45)에서 변수(D)가 0인 것으로 판단될 때까지, 단계(S45) 내지 (S47)가 반복된다. 즉, 이로 인해, modulo_time_base에서 연속적인 1의 수는 주의 B-VOP의 디스플레이 시간 중 초단위 디지트와 time_code 사이의 차이 또는 주의 B-VOP의 디스플레이 시간 중 초단위 디지트와 마지막으로 디스플레이된 I/P-VOP의 디스플레이 시간 중 초단위 디지트 사이의 차이값에 대응하는 초의 수와 같다. 또한, modulo_time_base는 그의 LSD에 0을 갖는다.
단계(S45)에서, 변수(D)가 0인 것으로 판단되는 경우, 단계(S45)는단계(S48)로 진행되어, 주의 B-VOP의 디스플레이 시간 중 초단위 정확도 보다 더 세밀한 시간, 즉 ms 단위의 시간이 VOP_time_increment에 설정되고, 처리 과정은 종료된다.
한편, I/P-VOP에 대해, IVLC 유닛(102)은 도 34에서 상술된 경우와 같은 방식으로 modulo_time_base 및 VOP_time_increment를 근거로 I/P-VOP의 디스플레이 시간을 계산한다.
또한, B-VOP에 대해, GOV를 구성하는 B-VOP가 수신될 때마다, IVLC 유닛(102)은 B-VOP를 주의 B-VOP로 설정하고, 도 38의 흐름도에 따라 주의 B-VOP의 modulo_time_base 및 VOP_time_increment를 근거로 주의 B-VOP의 디스플레이 시간을 계산한다.
즉, IVLC 유닛(102)에서는 먼저, 단계(S51)에서 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP에 앞서 디스플레이된 것인가 여부를 판단한다. 단계(S51)에서, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP에 앞서 디스플레이되는 것으로 판단되는 경우, 단계(S51)는 단계(S52)로 진행된다. 단계(S52)에서는 처리 객체 GOV의 time_code가 변수(T)로 설정되고, 단계(S52)는 단계(S54)로 진행된다.
또한, 단계(S51)에서, 주의 B-VOP가 처리 객체 GOV의 제 1 I-VOP 이후에 디스플레이되는 것으로 판단되는 경우, 단계(S51)는 단계(S53)로 진행된다. 단계(S53)에서는 마지막으로 디스플레이되는 I/P-VOP(처리 객체 GOV를 구성하는 VOP 중 하나로서, 주의 B-VOP 직전에 디스플레이되는)의 디스플레이 시간 중 초단위 디지트까지의 값이 변수(T)로 설정된다. 이어서, 단계(S53)는 단계(S54)로 진행된다.
단계(S54)에서는 주의 B-VOP에 부가되는 modulo_time_base가 0B인가 여부를 판단한다. 단계(S54)에서, 주의 B-VOP에 부가된 modulo_time_base가 0B가 아닌 것으로 판단되는 경우, 즉 주의 B-VOP에 부가된 modulo_time_base가 1을 포함하는 경우, 단계(S54)는 단계(S55)로 진행되어, modulo_time_base의 MSB에서 1이 삭제된다. 단계(S55)는 단계(S56)로 진행되어, 변수(T)가 1 만큼 증가된다. 이어서, 단계(S56)는 단계(S54)로 복귀된다. 이후에는 단계(S54)에서 주의 B-VOP에 부가된 modulo_time_base가 0B인 것으로 판단될 때까지, 단계(S54) 내지 (S56)가 반복된다. 이로 인해, 변수(T)는 주의 B-VOP에 부가되는 제 1 modulo_time_base내의 1의 수에 대응하는 초의 수 만큼 증가된다.
단계(S54)에서, 주의 B-VOP에 부가된 modulo_time_base가 0B인 경우, 단계(S54)는 단계(S57)로 진행되어, VOP_time_increment로 나타내지는 ms 정확도내의 시간이 변수(T)에 부가된다. 부가된 값은 주의 B-VOP의 디스플레이 시간으로 인식되고, 처리 과정은 종료된다.
이와 같이, 본 발명의 실시예에서는 부호화 시작 절대 시간을 부호화하기 위한 GOV층이 부호화 비트열의 계층 구조로 제시된다. 이 GOV층은 부호화 비트열의 절절한 위치 뿐만 아니라 부호화 비트열의 헤드에 삽입될 수 있다. 부가하여, VM-6.0에서 규정된 modulo_time_base 및 VOP_time_increment의 정의는 상술된 바와 같이 변한다. 그러므로, VOP의 화상 종류의 배열 및 인접한 VOP 사이의 시간 간격에 관계없이, 모든 경우에서 각 VOP의 디스플레이 시간(절대 시간)을 계산하는 것이가능해진다.
그러므로, 인코더에서는 인코더 시작 절대 시간이 GOV 단위로 부호화되고, 또한 각 VOP의 modulo_time_base 및 VOP_time_increment가 부호화된다. 부호화된 데이터는 부호화 비트열에 포함된다. 이로 인해, 디코더에서는 부호화 시작 절대 시간이 GOV 단위로 복호화될 수 있고, 또한 각 VOP의 modulo_time_base 및 VOP_time_increment가 복호화될 수 있다. 각 VOP의 디스플레이 시간이 복호화될 수 있으므로, 랜덤 억세스를 GOV 단위로 효과있게 실행하는 것이 가능해진다.
modulo_time_base에 부가된 1의 수가 단순히 동기화 지점을 교환할 때 증가되면, 거대한 비트수에 이르게 된다. 예를 들어, time_code로 표시된 시간 이래로 1 hr (3600 sec)가 경과되면(GOV가 그 시간에 동일한 VOP로 구성되는 경우), modulo_time_base는 3600 비트의 1과 1 비트의 0으로 구성되기 때문에 3601 비트에 이르게 된다.
그래서, MPEG-4에서, modulo_time_base는 동기화 시점이 교환된 이후 먼저 디스플레이되는 I/P-VOP에서 재설정되도록 규정된다.
그러므로, 예를 들어 도 39에 도시된 바와 같이, GOV가 GOV의 제 1 동기화 시점(GOV의 time_code에 의해 나타내지는 시간)과 time_code + 1 sec로 표시되는 동기화 시점 사이에 디스플레이되는 I1과 B2, time_code + 1 sec로 표시되는 동기화 시점과 time_code + 2 sec로 표시되는 동기화 시점 사이에 디스플레이되는 B3와 B4, time_code + 2 sec로 표시되는 동기화 시점과 time_code + 3 sec로 표시되는 동기화 시점 사이에 디스플레이되는 P5와 B6, time_code + 3 sec로 표시되는 동기화 시점과 time_code + 4 sec로 표시되는 동기화 시점 사이에 디스플레이되는 B7, 및 time_code + 4 sec로 표시되는 동기화 시점과 time_code + 5 sec로 표시되는 동기화 시점 사이에 디스플레이되는 B8로 구성되는 경우, GOV의 제 1 동기화 시점과 time_code + 1 sec로 표시되는 동기화 시점 사이에 디스플레이되는 I1 및 B2에 대한 modulo_time_base는 0B로 설정된다.
또한, time_code + 1 sec로 표시되는 동기화 시점과 time_code + 2 sec로 표시되는 동기화 시점 사이에 디스플레이되는 B3 및 B4에 대한 modulo_time_base는 10B로 설정된다. 또한, time_code + 2 sec로 표시되는 동기화 시점과 time_code + 3 sec로 표시되는 동기화 시점 사이에 디스플레이되는 P5에 대한 modulo_time_base는 110B로 설정된다.
P5는 GOV의 제 1 동기화 시점이 time_code + 1 sec로 표시되는 동기화 시점으로 교환된 이후에 첫 번째로 디스플레이되는 P-VOP이므로, P5에 대한 modulo_time_base는 0B로 설정된다. B5 이후에 디스플레이되는 B6에 대한 modulo_time_base는 P5의 디스플레이 시간을 계산하는데 사용되는 기준 동기화 시점, 즉 이 경우에서는 time_code + 2 sec로 표시되는 동기화 시점이 GOV의 제 1 동기화 시점이라 가정하고 설정된다. 그러므로, B6에 대한 modulo_time_base는 0B로 설정된다.
이후에, time_code + 3 sec로 표시되는 동기화 시점과 time_code + 4 sec로 표시되는 동기화 시점 사이에 디스플레이되는 B7에 대한 modulo_time_base는 10B로 설정된다. time_code + 4 sec로 표시되는 동기화 시점과 time_code + 5 sec로 표시되는 동기화 시점 사이에 디스플레이되는 B8에 대한 modulo_time_base는 110B로 설정된다.
도 32, 도 33, 및 도 37에서 설명된 인코더(VLC 유닛 36)에서의 처리는 상술된 방식으로 modulo_time_base를 설정하도록 실행된다.
또한, 이 경우, 동기화 시점의 교환 이후에 먼저 디스플레이되는 I/P-VOP가 검출될 때, 디코더(IVLC 유닛 102)에서는 I/P-VOP에 대한 modulo_time_base로 나타내지는 초의 수를 time_code에 부가하고 디스플레이 시간을 계산할 필요가 있다. 예를 들어, 도 39에 도시된 경우에서, I1 내지 P5의 디스플레이 시간은 각 VOP에 대한 modulo_time_base에 대응하는 초의 수와 VOP_time_increment를 모두 time_code에 부가함으로서 계산될 수 있다. 그러나, 동기화 시점의 교환 이후에 먼저 디스플레이된 P5 이후에 디스플레이되는 B6 내지 B8의 디스플레이 시간은 각 VOP에 대한 modulo_time_base에 대응하는 초의 수와 VOP_time_increment를 모두 time_code에 부가하고, 또한 P5에 대한 modulo_time_base에 대응하는 초의 수인 2초를 부가함으로서 계산될 필요가 있다. 이러한 이유로, 도 34, 도 35, 및 도 38에서 설명되는 처리는 상술된 방식으로 디스플레이 시간을 계산하도록 실행된다.
다음에, 상술된 인코더 및 디코더는 또한 전용 하드웨어에 의해, 또는 컴퓨터가 상술된 처리를 실행하는 프로그램을 시행하도록 함으로서 실현될 수 있다.
도 40은 도 3의 인코더 또는 도 15의 디코더로 동작되는 컴퓨터의 실시예에 대한 구성예를 도시한다.
판독 전용 메모리(ROM)(201)는 부트(boot) 프로그램 등을 저장한다. 중앙처리 유닛(202)은 랜덤 억세스 메모리(RAM)(203)에서 하드디스크(HD)(206)에 저장된 프로그램을 실행함으로서 다양한 처리를 실행한다. RAM(203)은 CPU(202)에 의해 실행되는 프로그램이나 CPU(202)가 처리하는데 필요한 데이터를 임시로 저장한다. 입력부(204)는 키보드나 마우스로 구성된다. 입력부(204)는 필요한 명령이나 데이터가 입력될 때 동작된다. 출력부(205)는 예를 들면, 디스플레이로 구성되고, CPU(202)의 제어에 따라 데이터를 디스플레이한다. HD(206)는 CPU(202)에 의해 실행되는 프로그램, 부호화되는 영상 데이터, 부호화 데이터(부호화 비트열), 복호화 영상 데이터 등을 저장한다. 통신 인터페이스(I/F)(207)는 외부 장비와의 통신을 제어함으로서 외부 장비로부터 부호화물의 영상 데이터를 수신하거나 부호화 비트열을 외부 장비로 전송한다. 또한, 통신 I/F(207)는 외부 유닛으로부터 부호화 비트열을 수신하거나 복호화된 영상 데이터를 외부 유닛으로 전송한다.
이와 같이 구성된 컴퓨터의 CPU(202)가 상술된 처리를 실행하는 프로그램을 실행하게 함으로서, 이 컴퓨터는 도 3의 인코더나 도 15의 디코더와 같이 동작된다.
본 발명의 실시예에서는 비록 VOP_time_increment가 ms의 단위로 VOP의 디스플레이 시간을 나타내지만, VOP_time_increment는 또한 다음과 같이 이루어질 수 있다. 즉, 하나의 동기화 시점과 다음 동기화 시점 사이의 시간이 N개 지점으로 나뉘고, VOP_time_increment는 VOP의 디스플레이 시간에 대응하는 분리된 지점의 제 n 위치를 나타내는 값으로 설정될 수 있다. VOP_time_increment가 이와 같이 정의되는 경우, N = 1000이면, 이는 VOP의 디스플레이 시간을 ms의 단위로 나타내게 된다. 이 경우에는 비록 2개의 인접한 동기화 지점 사이에 나뉜 지점의 수에 관한 정보가 요구되지만, 나뉜 지점의 수는 미리 결정되거나, GOV층 보다 상단층에 포함되는 나뉜 지점의 수는 디코더로 전송될 수 있다.
본 발명에서 설명되는 영상 인코더 및 청구항 6에서 설명되는 영상 부호화 방법에 따라, 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스는 다수의 그룹으로 분할되고, 그 그룹들은 부호화된다. 그러므로, 그룹 단위로 부호화 결과에 랜덤 억세스하는 것이 가능해진다.
본 발명에서 설명되는 영상 디코더 및 청구항 16에서 설명되는 영상 복호화 방법에 따라, 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 또한 그 그룹들을 부호화함으로서 얻어진 부호화 비트열이 복호화된다. 그러므로, 그룹 단위로 부호화 비트열에 랜덤 억세스하고 비트열을 복호화하는 것이 가능해진다.
본 발명에서 설명되는 배포 매체에 따라, 영상을 구성하는 객체의 하나 이상의 층의 각 시퀀스를 다수의 그룹으로 분할하고 또한 그 그룹들을 부호화함으로서 얻어진 부호화 비트열이 제공된다. 그러므로, 그룹 단위로 부호화 비트열에 랜덤 억세스하는 것이 가능해진다.
청구항 1에서 설명되는 영상 인코더 및 청구항 4에서 설명되는 영상 부호화 방법에 따라, 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보가 발생되고, 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간주기를 나타내는 상세한 시간 정보가 발생된다. 그러므로, 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 I-VOP, P-VOP, 및 B-VOP의 디스플레이 시간을 인식하고, 인식 결과를 근거로 랜덤 억세스를 실행하는 것이 가능해진다.
청구항 7에서 설명되는 영상 디코더 및 청구항 10에서 설명되는 영상 복호화 방법에 따라, I-VOP, P-VOP, 및 B-VOP의 디스플레이 시간은 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 계산된다. 그러므로, 디스플레이 시간을 근거로 랜덤 억세스를 실행하는 것이 가능해진다.
청구항 13에서 설명되는 배포 매체에 따라, 1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생하고, 또한 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시간과 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 초단위-정확도 시간 정보 사이의 시간 주기를 나타내는 상세한 시간 정보를 발생하고, 또한 상기 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 초단위-정확도 시간 정보와 상세한 시간 정보를 부가함으로서 얻어지는 부호화 비트열이 제공된다. 그러므로, 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 I-VOP, P-VOP, 및 B-VOP의 디스플레이 시간을 인식하고, 인식 결과를 근거로 랜덤 억세스를 실행하는 것이 가능해진다.
본 발명은 동적 영상 데이터가 자기-광학 디스크, 자기 테이프 등과 같은 저장 매체상에 기록되고, 기록된 데이터가 재생되어 디스플레이상에 디스플레이되는 영상 정보 기록-재생 유닛에서 사용될 수 있다. 본 발명은 또한 동적 영상 데이터가 전송 경로를 통해 전송기측에서 수신기측으로 전송되고, 수신기측에서는 수신된 동적 데이터가 디스플레이되거나 편집 및 기록되는 텔레비젼 회의 시스템, 비디오폰 시스템, 방송 장비, 및 다중매체 데이터베이스 회복 시스템에서 사용될 수 있다. 전술한 본 발명의 구성에 따라 상기 이용분야에서 초단위-정확도 시간 정보와 상세한 시간 정보를 근거로 I-VOP, P-VOP, 및 B-VOP의 디스플레이 시간을 인식하고, 인식 결과를 근거로 랜덤 억세스를 실행하는 것이 가능해진다.

Claims (15)

  1. 영상을 구성하는 각 객체에 대한 영상을 부호화하고 부호화된 결과 비트열을 출력하는 영상 인코더에 있어서,
    인트라(intra) 부호화에 의해 부호화된 객체가 인트라-영상 객체 평면(I-VOP)이고, 인트라 부호화나 전방 예측 부호화에 의해 부호화된 객체가 예측-VOP(P-VOP)이고, 또한 인트라 부호화, 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측-VOP로 부호화된 객체가 양방향 예측-VOP(B-VOP)일 때,
    상기 영상 인코더는,
    1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생시키는 초단위-정확도 시간 정보 발생 수단과;
    상기 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 상기 초단위-정확도 시간 정보와 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시각 사이의 시간를 나타내는 상세 시간 정보를 발생시키는 상세 시간 정보발생 수단과;
    상기 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 상기 초단위-정확도 시간 정보 및 상세 시간 정보를 부가하는 부가 수단을 포함하는 영상 인코더.
  2. 제 1 항에 있어서, 상기 객체가 하나 이상의 그룹으로 분할되어 부호화될 때, 상기 상세 시간 정보발생 수단은 상기 그룹의 객체의 부호화가 시작되는 상기영상 시퀀스내의 절대 시간이고 또한 부호화 시작 초단위-정확도 절대 시간(encoding start second-accuracy absolute time)을 기초로 하여 1초의 정확도내의 시간을 상기 초단위-정확도 시간 정보로 발생시키는 영상 인코더.
  3. 제 2 항에 있어서, 상기 초단위-정확도 시간 정보 발생 수단은 소정의 객체에 대한 초단위-정확도 시간 정보로서, 상기 부호화 시작 초단위-정확도 절대 시간과 1초의 정확도내에서 표시된 상기 소정의 객체의 디스플레이 시각 사이의 시간, 또는 상기 소정의 객체 직전에 디스플레이된 I-VOP나 P-VOP의 디스플레이 시각과 1초의 정확도내에서 표시된 상기 소정의 객체의 디스플레이 시각 사이의 시간을 발생시키는 영상 인코더.
  4. 영상을 구성하는 각 객체에 대한 영상을 부호화하고 부호화된 결과 비트열을 출력하는 영상 부호화 방법에 있어서,
    인트라 부호화에 의해 부호화된 객체가 인트라-영상 객체 평면(I-VOP)이고, 인트라 부호화나 전방 예측 부호화에 의해 부호화된 객체가 예측-VOP(P-VOP)이고, 또한 인트라 부호화, 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측-VOP로 부호화된 객체가 양방향 예측-VOP(B-VOP)일 때,
    상기 영상 부호화 방법은,
    1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보를 발생시키는 초단위-정확도 시간 정보 발생 단계와;
    상기 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 상기 초단위-정확도 시간 정보와 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시각 사이의 시간를 나타내는 상세 시간 정보를 발생시키는 상세 시간 정보발생 단계와;
    상기 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 상기 초단위-정확도 시간 정보 및 상세 시간 정보를 부가하는 부가 단계를 포함하는 영상 부호화 방법.
  5. 제 4 항에 있어서, 상기 객체의 시퀀스가 하나 이상의 그룹으로 분할되어 부호화될 때, 상기 초단위-정확도 시간 정보 발생 단계는 상기 그룹의 객체의 부호화가 시작되는 상기 영상 시퀀스내의 절대 시간이고 또한 상기 부호화 시작 초단위-정확도 절대 시간을 기초로 하여 1초의 정확도내의 시간을 상기 초단위-정확도 시간 정보로 발생시키는 영상 부호화 방법.
  6. 제 5 항에 있어서, 상기 초단위-정확도 시간 정보 발생 단계는 소정의 객체에 대한 초단위-정확도 시간 정보로서, 상기 부호화 시작 초단위-정확도 절대 시간과 1초의 정확도내에서 표시된 상기 소정의 객체의 디스플레이 시각 사이의 시간, 또는 상기 소정의 객체 직전에 디스플레이된 I-VOP나 P-VOP의 디스플레이 시각과 1초의 정확도내에서 표시된 상기 소정의 객체의 디스플레이 시각 사이의 시간을 발생시키는 영상 부호화 방법.
  7. 영상을 구성하는 각 객체에 대한 영상을 부호화함으로서 구해진 부호화 비트열을 복호화하는 영상 디코더에 있어서,
    인트라 부호화에 의해 부호화된 객체가 인트라-영상 객체 평면(I-VOP)이고, 인트라 부호화나 전방 예측 부호화에 의해 부호화된 객체가 예측-VOP(P-VOP)이고, 또한 인트라 부호화, 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측-VOP로 부호화된 객체가 양방향 예측-VOP(B-VOP)일 때와,
    1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보 및 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 상기 초단위-정확도 시간 정보와 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시각 사이의 시간를 나타내는 상세 시간 정보가 상기 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP, 또는 B-VOP에 부가될 때,
    상기 영상 디코더는,
    상기 초단위-정확도 시간 정보 및 상세 시간 정보를 기초로 하여 상기 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 계산하는 디스플레이 시간 계산 수단과;
    대응하는 디스플레이 시간에 따라 상기 I-VOP, P-VOP, 또는 B-VOP를 복호화하는 복호화 수단을 포함하는 영상 디코더.
  8. 제 7 항에 있어서, 상기 객체의 시퀀스가 하나 이상의 그룹으로 분할되어 부호화될 때, 상기 초단위-정확도 시간 정보는 상기 그룹의 객체의 부호화가 시작되는 상기 영상 시퀀스내의 절대 시간인 1초의 정확도내의 시간이고, 부호화 시작 초단위-정확도 절대 시간을 표준으로 1초의 정확도내의 시간을 나타내는 영상 디코더.
  9. 제 8 항에 있어서, 소정의 객체에 대한 초단위-정확도 시간 정보로서, 1초의 정확도내에서 표시된 상기 소정의 객체의 디스플레이 시각과 상기 부호화 시작 초단위-정확도 절대 시간 사이의 시간, 또는 1초의 정확도내에서 표시된 상기 소정의 객체의 디스플레이 시각과 상기 소정의 객체 직전에 디스플레이된 I-VOP나 P-VOP의 디스플레이 시간 사이의 시간이 사용되는 영상 디코더.
  10. 영상을 구성하는 각 객체에 대한 영상을 부호화함으로서 구해진 부호화 비트열을 복호화하는 영상 복호화 방법에 있어서,
    인트라 부호화에 의해 부호화된 객체가 인트라-영상 객체 평면(I-VOP)이고, 인트라 부호화나 전방 예측 부호화에 의해 부호화된 객체가 예측-VOP(P-VOP)이고, 또한 인트라 부호화, 전방 예측 부호화, 후방 예측 부호화, 또는 양방향 예측-VOP로 부호화된 객체가 양방향 예측-VOP(B-VOP)일 때와,
    1초의 정확도내에서 시간을 나타내는 초단위-정확도 시간 정보 및 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간 직전의 상기 초단위-정확도 시간 정보와 1초의 정확도 보다 더 세밀한 정확도내의 디스플레이 시각 사이의 시간를 나타내는 상세 시간 정보가 상기 디스플레이 시간을 나타내는 정보로서 대응하는 I-VOP, P-VOP,또는 B-VOP에 부가될 때,
    상기 영상 복호화 방법은,
    상기 초단위-정확도 시간 정보 및 상세 시간 정보를 기초로 하여 상기 I-VOP, P-VOP, 또는 B-VOP의 디스플레이 시간을 계산하는 디스플레이 시간 계산 단계; 및
    대응하는 디스플레이 시간에 따라 상기 I-VOP, P-VOP, 또는 B-VOP를 복호화하는 복호화 단계를 포함하는 영상 복호화 방법.
  11. 제 10 항에 있어서, 상기 객체의 시퀀스가 하나 이상의 그룹으로 분할되어 부호화될 때, 상기 초단위-정확도 시간 정보는 상기 그룹의 객체의 부호화가 시작되는 상기 영상 시퀀스내의 절대 시간인 1초의 정확도내의 시간이고, 부호화 시작 초단위-정확도 절대 시간을 기준으로 1초의 정확도내의 시간을 나타내는 영상 복호화 방법.
  12. 제 11 항에 있어서, 소정의 객체에 대한 초단위-정확도 시간 정보로서, 상기 부호화 시작 초단위-정확도 절대 시간과 1초의 정확도내에서 표시된 상기 소정의 객체의 디스플레이 시각 사이의 시간, 또는 상기 소정의 객체 직전에 디스플레이된 I-VOP나 P-VOP의 디스플레이 시각과 1초의 정확도내에서 표시된 상기 소정의 객체의 디스플레이 시각 사이의 시간이 사용되는 영상 복호화 방법.
  13. 삭제
  14. 삭제
  15. 삭제
KR10-2001-7007032A 1997-04-01 1998-03-31 영상 인코더, 영상 부호화 방법, 영상 디코더 및 영상 복호화 방법 KR100417932B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP97-99683 1997-04-01
JP9968397 1997-04-01

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0709790A Division KR100418141B1 (ko) 1997-04-01 1998-03-31 화상부호화장치,화상부호화방법,화상복호화장치및화상복호화방법

Publications (1)

Publication Number Publication Date
KR100417932B1 true KR100417932B1 (ko) 2004-02-11

Family

ID=14253845

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2001-7007032A KR100417932B1 (ko) 1997-04-01 1998-03-31 영상 인코더, 영상 부호화 방법, 영상 디코더 및 영상 복호화 방법
KR10-1998-0709790A KR100418141B1 (ko) 1997-04-01 1998-03-31 화상부호화장치,화상부호화방법,화상복호화장치및화상복호화방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR10-1998-0709790A KR100418141B1 (ko) 1997-04-01 1998-03-31 화상부호화장치,화상부호화방법,화상복호화장치및화상복호화방법

Country Status (14)

Country Link
US (5) US6414991B1 (ko)
EP (2) EP0914007B9 (ko)
JP (1) JP3380983B2 (ko)
KR (2) KR100417932B1 (ko)
CN (3) CN1186944C (ko)
AT (2) ATE425637T1 (ko)
AU (1) AU732452B2 (ko)
CA (1) CA2255923C (ko)
ES (2) ES2323482T3 (ko)
HK (3) HK1043461B (ko)
ID (1) ID20680A (ko)
IL (2) IL167288A (ko)
TW (1) TW398150B (ko)
WO (1) WO1998044742A1 (ko)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ID20680A (id) * 1997-04-01 1999-02-11 Sony Corp Alat dan metode pemberian kode bayangan, alat dan metode penguraian kode bayangan, dan media pendistribusinya
JP4261630B2 (ja) * 1998-02-04 2009-04-30 キヤノン株式会社 画像符号化装置及び方法、画像符号化プログラムが記録されたコンピュータ可読記録媒体
JP2000013790A (ja) 1998-06-19 2000-01-14 Sony Corp 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
EP1018840A3 (en) * 1998-12-08 2005-12-21 Canon Kabushiki Kaisha Digital receiving apparatus and method
ID24586A (id) * 1998-12-21 2000-07-27 Matsushita Electric Ind Co Ltd Perangkat dan metode penyelarasan waktu dengan menggunakan modul basis waktu dan resolusi peningkatan waktu
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US7589789B2 (en) * 1999-05-08 2009-09-15 Lg Electronics Inc. Video converting device and method for digital TV
US6639943B1 (en) * 1999-11-23 2003-10-28 Koninklijke Philips Electronics N.V. Hybrid temporal-SNR fine granular scalability video coding
US7020195B1 (en) * 1999-12-10 2006-03-28 Microsoft Corporation Layered coding and decoding of image data
EP1243141B1 (en) * 1999-12-14 2011-10-19 Scientific-Atlanta, LLC System and method for adaptive decoding of a video signal with coordinated resource allocation
US6697426B1 (en) * 2000-03-17 2004-02-24 Koninklijke Philips Electronics N.V. Reduction of layer-decoding complexity by reordering the transmission of enhancement layer frames
JP4208398B2 (ja) * 2000-10-05 2009-01-14 株式会社東芝 動画像復号再生装置、動画像復号再生方法及びマルチメディア情報受信装置
US6618445B1 (en) * 2000-11-09 2003-09-09 Koninklijke Philips Electronics N.V. Scalable MPEG-2 video decoder
EP1336303A2 (en) * 2000-11-23 2003-08-20 Koninklijke Philips Electronics N.V. Video coding method
US7397851B2 (en) * 2001-05-10 2008-07-08 Roman Kendyl A Separate plane compression
JP2005506815A (ja) * 2001-10-26 2005-03-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 空間拡張可能圧縮のための方法及び装置
KR100944544B1 (ko) * 2001-12-20 2010-03-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 부호화 및 복호화 방법
US7274857B2 (en) * 2001-12-31 2007-09-25 Scientific-Atlanta, Inc. Trick modes for compressed video streams
US7483487B2 (en) * 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
JP4007594B2 (ja) * 2002-09-26 2007-11-14 株式会社東芝 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
AU2003264543C1 (en) 2002-10-01 2009-01-08 Godo Kaisha Ip Bridge 1 Image encoding device, image decoding device and their methods
US7738552B2 (en) * 2002-12-06 2010-06-15 Broadcom Company Processing data streams
KR20060105408A (ko) * 2005-04-01 2006-10-11 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
KR20060109247A (ko) * 2005-04-13 2006-10-19 엘지전자 주식회사 베이스 레이어 픽처를 이용하는 영상신호의 엔코딩/디코딩방법 및 장치
US8761252B2 (en) 2003-03-27 2014-06-24 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
WO2004093001A1 (en) * 2003-04-11 2004-10-28 Sumtotal Llc Adaptive subtraction image compression
US8085844B2 (en) * 2003-09-07 2011-12-27 Microsoft Corporation Signaling reference frame distances
US7577198B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7966642B2 (en) * 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
US20050100098A1 (en) * 2003-10-23 2005-05-12 Gong-Sheng Lin Highly integrated mpeg-4 video decoding unit
SE0303085D0 (sv) * 2003-11-18 2003-11-18 Scalado Ab Method for creating a compressed digital image representation and image representation format
US20050135478A1 (en) * 2003-12-18 2005-06-23 Van Der Schaar Mihaela Reduction of layer-decoding complexity by reordering the transmission of enhancement layer frames
US8600217B2 (en) * 2004-07-14 2013-12-03 Arturo A. Rodriguez System and method for improving quality of displayed picture during trick modes
JP2008507194A (ja) * 2004-07-15 2008-03-06 サムスン エレクトロニクス カンパニー リミテッド 動き情報符号化装置及び方法、動き情報復号化装置及び方法、これを採用したスケーラブル映像符号化装置及び方法とスケーラブル映像復号化装置及び方法
US7792190B2 (en) * 2004-09-09 2010-09-07 Media Tek Singapore Pte Ltd. Inserting a high resolution still image into a lower resolution video stream
US20090080519A1 (en) * 2004-10-18 2009-03-26 Electronics And Telecommunications Research Institute Method for encoding/decoding video sequence based on mctf using adaptively-adjusted gop structure
WO2006049412A1 (en) * 2004-11-01 2006-05-11 Electronics And Telecommunications Research Institute Method for encoding/decoding a video sequence based on hierarchical b-picture using adaptively-adjusted gop structure
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
US8175168B2 (en) * 2005-03-18 2012-05-08 Sharp Laboratories Of America, Inc. Methods and systems for picture up-sampling
US7961963B2 (en) 2005-03-18 2011-06-14 Sharp Laboratories Of America, Inc. Methods and systems for extended spatial scalability with picture-level adaptation
US7725799B2 (en) * 2005-03-31 2010-05-25 Qualcomm Incorporated Power savings in hierarchically coded modulation
US8660180B2 (en) * 2005-04-01 2014-02-25 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
EP1880553A4 (en) * 2005-04-13 2011-03-02 Lg Electronics Inc METHOD AND DEVICE FOR DECODING A VIDEO SIGNAL USING REFERENCE PICTURES
US8619860B2 (en) * 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
US8842666B2 (en) * 2005-05-13 2014-09-23 Qualcomm Incorporated Methods and apparatus for packetization of content for transmission over a network
US20070014346A1 (en) * 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
US8755434B2 (en) * 2005-07-22 2014-06-17 Lg Electronics Inc. Method and apparatus for scalably encoding and decoding video signal
US20070031054A1 (en) * 2005-08-08 2007-02-08 Neomagic Israel Ltd. Encoding DCT coordinates
KR100891662B1 (ko) * 2005-10-05 2009-04-02 엘지전자 주식회사 비디오 신호 디코딩 및 인코딩 방법
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
FR2895172A1 (fr) * 2005-12-20 2007-06-22 Canon Kk Procede et dispositif de codage d'un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes
US20070230567A1 (en) * 2006-03-28 2007-10-04 Nokia Corporation Slice groups and data partitioning in scalable video coding
US20080043832A1 (en) * 2006-08-16 2008-02-21 Microsoft Corporation Techniques for variable resolution encoding and decoding of digital video
US8773494B2 (en) 2006-08-29 2014-07-08 Microsoft Corporation Techniques for managing visual compositions for a multimedia conference call
US20090033791A1 (en) * 2007-07-31 2009-02-05 Scientific-Atlanta, Inc. Video processing systems and methods
US20090167775A1 (en) 2007-12-30 2009-07-02 Ning Lu Motion estimation compatible with multiple standards
US8300696B2 (en) 2008-07-25 2012-10-30 Cisco Technology, Inc. Transcoding for systems operating under plural video coding specifications
KR101557504B1 (ko) * 2009-04-13 2015-10-07 삼성전자주식회사 채널 적응형 비디오 전송 방법, 이를 이용한 장치 및 이를 제공하는 시스템
WO2011005624A1 (en) 2009-07-04 2011-01-13 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3d video delivery
US8681858B2 (en) * 2009-12-23 2014-03-25 General Instrument Corporation Rate control for two-pass encoder
US8731152B2 (en) 2010-06-18 2014-05-20 Microsoft Corporation Reducing use of periodic key frames in video conferencing
WO2012047496A1 (en) * 2010-10-08 2012-04-12 Dolby Laboratories Licensing Corporation Scalable frame compatible multiview encoding and decoding methods
US8553109B2 (en) * 2011-07-20 2013-10-08 Broadcom Corporation Concurrent image processing for generating an output image
CA2841055C (en) 2011-09-28 2019-02-26 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US9161060B2 (en) * 2011-09-30 2015-10-13 Broadcom Corporation Multi-mode error concealment, recovery and resilience coding
CN104620583A (zh) * 2012-05-14 2015-05-13 卢卡·罗萨托 基于支持信息的残差数据的编码和重构
US9961363B2 (en) 2012-10-09 2018-05-01 Intellectual Discovery Co., Ltd. Inter-layer prediction method for multi-layer video and device therefor
KR20140087971A (ko) * 2012-12-26 2014-07-09 한국전자통신연구원 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치
US9998750B2 (en) 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
US9998765B2 (en) 2014-07-16 2018-06-12 Qualcomm Incorporated Transport stream for carriage of video coding extensions

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060285A (en) 1989-05-19 1991-10-22 Gte Laboratories Incorporated Hierarchical variable block size address-vector quantization using inter-block correlation
US5414469A (en) * 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
GB9206860D0 (en) * 1992-03-27 1992-05-13 British Telecomm Two-layer video coder
BR9405508A (pt) * 1993-07-12 1999-09-08 Sony Corp Processo e aparelho decodificador e codificador de imagem.
CA2126467A1 (en) * 1993-07-13 1995-01-14 Barin Geoffry Haskell Scalable encoding and decoding of high-resolution progressive video
US5515377A (en) * 1993-09-02 1996-05-07 At&T Corp. Adaptive video encoder for two-layer encoding of video signals on ATM (asynchronous transfer mode) networks
KR960020018A (ko) * 1994-11-17 1996-06-17 배순훈 가변길이복호화장치
JPH08294127A (ja) * 1995-04-24 1996-11-05 Matsushita Electric Ind Co Ltd 画像圧縮装置
US5828788A (en) * 1995-06-29 1998-10-27 Thomson Multimedia, S.A. System for processing data in variable segments and with variable data resolution
JP3788823B2 (ja) * 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
US6111596A (en) * 1995-12-29 2000-08-29 Lucent Technologies Inc. Gain and offset correction for efficient stereoscopic coding and improved display
US6055012A (en) * 1995-12-29 2000-04-25 Lucent Technologies Inc. Digital multi-view video compression with complexity and compatibility constraints
EP0864228B1 (en) * 1996-07-05 2001-04-04 Matsushita Electric Industrial Co., Ltd. Method for display time stamping and synchronization of multiple video object planes
JP3895431B2 (ja) * 1996-07-08 2007-03-22 株式会社ハイニックスセミコンダクター 物体境界ブロック合併/分割を利用した映像情報符号化方法
US5886736A (en) * 1996-10-24 1999-03-23 General Instrument Corporation Synchronization of a stereoscopic video sequence
US6043846A (en) * 1996-11-15 2000-03-28 Matsushita Electric Industrial Co., Ltd. Prediction apparatus and method for improving coding efficiency in scalable video coding
US6148026A (en) * 1997-01-08 2000-11-14 At&T Corp. Mesh node coding to enable object based functionalities within a motion compensated transform video coder
ID20680A (id) * 1997-04-01 1999-02-11 Sony Corp Alat dan metode pemberian kode bayangan, alat dan metode penguraian kode bayangan, dan media pendistribusinya
US6057884A (en) * 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
US6233356B1 (en) * 1997-07-08 2001-05-15 At&T Corp. Generalized scalability for video coder based on video objects
WO1999021367A1 (fr) * 1997-10-20 1999-04-29 Mitsubishi Denki Kabushiki Kaisha Codeur et decodeur d'image

Also Published As

Publication number Publication date
ES2323482T3 (es) 2009-07-16
CN1185876C (zh) 2005-01-19
EP1152622B9 (en) 2009-09-09
AU6520298A (en) 1998-10-22
WO1998044742A1 (en) 1998-10-08
US6643328B2 (en) 2003-11-04
CN1312655A (zh) 2001-09-12
US6535559B2 (en) 2003-03-18
IL127274A0 (en) 1999-09-22
HK1043461A1 (en) 2002-09-13
US20030133502A1 (en) 2003-07-17
ATE425637T1 (de) 2009-03-15
US7302002B2 (en) 2007-11-27
ES2323358T3 (es) 2009-07-14
IL127274A (en) 2006-06-11
EP1152622A1 (en) 2001-11-07
EP0914007A1 (en) 1999-05-06
CA2255923C (en) 2005-06-07
US20020114391A1 (en) 2002-08-22
US20020122486A1 (en) 2002-09-05
EP0914007B1 (en) 2009-03-11
CN1186944C (zh) 2005-01-26
EP0914007A4 (en) 2001-11-07
HK1080650A1 (en) 2006-04-28
CN1220804A (zh) 1999-06-23
US6414991B1 (en) 2002-07-02
KR20000016220A (ko) 2000-03-25
CN100579230C (zh) 2010-01-06
EP1152622B1 (en) 2009-03-11
IL167288A (en) 2012-03-29
HK1043461B (zh) 2005-08-19
KR100418141B1 (ko) 2004-06-09
ID20680A (id) 1999-02-11
JP3380983B2 (ja) 2003-02-24
EP0914007B9 (en) 2009-09-09
HK1043707A1 (en) 2002-09-20
TW398150B (en) 2000-07-11
AU732452B2 (en) 2001-04-26
CN1630375A (zh) 2005-06-22
US20020118750A1 (en) 2002-08-29
CA2255923A1 (en) 1998-10-08
JP2001036911A (ja) 2001-02-09
ATE425638T1 (de) 2009-03-15

Similar Documents

Publication Publication Date Title
KR100417932B1 (ko) 영상 인코더, 영상 부호화 방법, 영상 디코더 및 영상 복호화 방법
US6400768B1 (en) Picture encoding apparatus, picture encoding method, picture decoding apparatus, picture decoding method and presentation medium
US6567427B1 (en) Image signal multiplexing apparatus and methods, image signal demultiplexing apparatus and methods, and transmission media
US6031575A (en) Method and apparatus for encoding an image signal, method and apparatus for decoding an image signal, and recording medium
US6608935B2 (en) Picture encoding method and apparatus, picture decoding method and apparatus and furnishing medium
US6330280B1 (en) Method and apparatus for decoding enhancement and base layer image signals using a predicted image signal
US6427027B1 (en) Picture encoding and/or decoding apparatus and method for providing scalability of a video object whose position changes with time and a recording medium having the same recorded thereon
US20040028129A1 (en) Picture encoding method and apparatus, picture decoding method and apparatus and furnishing medium
JPH09322163A (ja) 画像信号の符号化方法、伝送方法及び復号方法、符号化装置、伝送装置及び復号装置並びに記録媒体
JP3380980B2 (ja) 画像符号化方法、並びに画像復号方法および画像復号装置
JP3345887B2 (ja) 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに記録媒体
JP2001054120A (ja) 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに記録媒体

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20130125

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140117

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee