KR20070110550A - 인트라-슬라이스 재동기화 포인트들을 사용하는 에러복원을 위한 방법 및 장치 - Google Patents
인트라-슬라이스 재동기화 포인트들을 사용하는 에러복원을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20070110550A KR20070110550A KR1020077023230A KR20077023230A KR20070110550A KR 20070110550 A KR20070110550 A KR 20070110550A KR 1020077023230 A KR1020077023230 A KR 1020077023230A KR 20077023230 A KR20077023230 A KR 20077023230A KR 20070110550 A KR20070110550 A KR 20070110550A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- bitstream
- resynchronization point
- decoding
- resynchronization
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/68—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
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)
- Semiconductor Integrated Circuits (AREA)
Abstract
비디오 코딩을 위한 방법은 비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 인코딩하는 단계를 포함한다. 비디오 데이터를 디코딩하기 위한 방법은 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 가지는 인코딩된 비트스트림을 수신하는 단계; 및 상기 수신된 비트스트림을 디코딩하는 단계; 및 상기 재동기화 포인트 정보에 기초하여 상기 비트스트림 내에 상기 재동기화 포인트를 위치시키는 단계를 포함한다.
Description
본 출원은 2005년 3월 10일에 제출된 "비디오 처리를 위한 컨텐츠 분류"라는 명칭의 임시 출원 60/660,879 및 2005년 9월 1일에 제출된 "인트라-슬라이스 재동기화 포인트들을 사용하는 에러 복원을 위한 방법 및 장치"라는 명칭의 임시 출원 60/713,207의 우선권을 청구하며, 상기 출원들은 본 출원의 양수인에게 양수되고, 본 명세서에서 참조로서 통합된다.
본 발명은 에러 관리 방식들로 디지털 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치들에 관한 것이다.
이동 통신 시스템에서 높은 데이터 레이트들 및 높은 서비스 품질에 대한 요구는 급속하게 증가하고 있다. 그러나, 제한된 송신 전력, 제한된 대역폭 및 다중-경로 페이딩과 같은 인자들은 실제 세스템들에 의해 처리되는 데이터 레이트들을 계속해서 제한하고 있다. 멀티미디어 통신들에서, 특히 에러에 영향받기 쉬운 환경들에서, 전송된 매체의 에러에 대한 회복력은 단일 디코딩된 값에서의 에러들이 공간 및 시간에서 전파하는 가공물들을 디코딩하도록 유도할 수 있기 때문에 요구 되는 서비스 품질을 제공하는데 비판적이다. 다양한 인코딩 측정치들은 필요한 데이터 레이트를 유지하면서 에러들을 최소화하기 위해 사용되지만, 상기 기술들 모두는 디코더 측면에서 도달하는 에러들로 인한 문제들을 경험하게 된다.
MPEG-1, MPEG-2, MPEG-4(총체적으로 MPEG-x라 지칭됨), H.261, H.262, H.263, H.264(총체적으로 H.26x라 지칭됨)과 같은 하이브리드 코딩 표준들은 고정되거나 가변하는 길이의 소스 코딩 기술들을 사용하여 비디오, 오디오 및 다른 정보의 압축 및 전달에 매우 적합한 데이터 처리 및 조종 기술들(본 명세서에서 하이브리드 코딩이라 지칭됨)을 설명한다. 특히, 전술된 표준들 및 다른 하이브리드 코딩 표준들 및 기술들은 인트라-프레임 엔트로피 코딩 기술들(예를 들면, 런-렝스 코딩, 호프만(Huffman) 코딩, 등등과 같은) 및 인터-프레임 코딩 기술들(예를 들면, 전방 및 후방 예측 코딩, 움직임 보상 등등과 같은)을 사용항 비디오 정보를 압축한다. 특히, 비디오 처리 시스템들의 경우에, 하이브리드 비디오 코딩 시스템들은 인트라- 및/또는 인터-프레임 움직임 보상 인코딩을 사용하는 비디오 프레임들의 예측-기반의 압축 코딩을 특징으로 한다.
엔트로피 코딩은 랜덤한 정보 소스들에 이해 발생된 심볼들의 가장 효율적인 손실없는 표현들을 가능하게 한다. 상기와 같이 손실 없는 및 손실 있는 데이터 압축 방식들 모두의 구성요소들은 중요하다. 압축 효율에 대한 대단한 장점들에도 불구하고, 엔트로피 코딩은 디코딩 프로세스를 복잡하게 한다. 엔트로피 코딩에 대한 모든 서로 다른 접근 방식들의 공통적인 특징은 단일 소스 심볼 또는 소스 심볼들의 시퀀스가 이진 패턴, 즉 그 길이가 감소하는 심볼 가능성에 따라 증가하는 코드워드로 공지된 1과 0들의 시퀀스와 결합되고 표현된다. 따라서, 가장 가능한 심볼들에는 가장 간결한 표현이 할당되어 고정-길이의 표현에 기초하는 간단한 심볼 알파벳 크기에 평균적으로 실질적인 절약들이 가능하게 한다.
비트스트림에서, 즉 중요한 소스의 출력의 엔트로피 코딩된 표현에서 다음 심볼을 위해 얼마나 많은 비트들이 소비되는지에 관한 모호성은 디코더에 대한 복잡함이다. 그러나, 비트스트림에서 에러들의 경우에 더 중요한 것은 플립된 비트들(에러들로 인해)과 함께 다양한 키기의 코드웨드들의 사용은 부정확한 코드워드 길이의 경쟁을 빈번하게 발생할 수 있고, 결과적으로 분석/디코딩 프로세스는 비트 스트림과의 동기화, 즉 코드워드 경계들의 정확한 식별을 손실하고, 따라서 비트스트림의 정확한 해석이 실패하기 시작할 수 있다.
기본 레벨의 에러 검출 측정들을 실행하는 디코더는 비트 스트림의 디코딩에서 문제에 부딪하고 동기화를 손실한다고 가정하자. 결과적으로, 구문 위반, 즉 무효 코드워드 또는 예를 들면 무효 파라미터 값들 또는 예기치 않은 비트 스트림 오브젝트와 같은 의미상 실패로 인해, 디코더는 문제를 인식하고, 비트 스트림을 사용하여 자체적으로 재동기화하기 위한 필수 단계들을 실행할 수 있다.
비디오 코딩을 위한 방법 및 장치들은 비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 인코딩하는 단계 및 수단; 및 상기 인코딩된 재동기화 포인트 정보를 전송하는 단계 및 수단을 포함한다.
또다른 양상에서, 비디오 코딩 장치는 비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 인코딩하기 위한 수단; 및 상기 인코딩된 재동기화 포인트 정보를 전송하기 위한 수단을 포함한다.
또다른 양상에서, 비디오 코딩을 위한 방법 및 장치는 다수의 후보 위치들에 대한 레이트 왜곡 비용을 계산하는 단계 및 수단; 및 상기 계산된 레이트 왜곡 비용에 기초하여 상기 재동기화 포인트의 위치가 되도록 상기 후보 위치들 중 적어도 하나를 선택하는 단계 및 수단을 더 포함한다. 상기 방법 및 장치는 상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하는 단계 및 수단을 더 포함하며, 상기 섹션은 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버이다. 상기 비디오 코딩을 위한 방법 및 장치는 상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하는 단계 및 수단을 더 포함하며, 상기 재동기화 포인트는 매크로블럭의 시작부이다.
상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 연관된 정보를 포함할 수 있다. 상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함한다. 상기 비트스트림을 디코딩하기 위한 정보는 상기 재동기화 포인트 다음에 상기 비트스트림이 존재하는 문맥과 관련된 정보를 포함한다.
비디오 코딩을 위한 방법 및 장치는 데이터 메세지 내에서 상기 재동기화 포인트 정보를 인코딩하는 단계 및 수단을 더 포함하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나이다. 상기 비트스트림을 디코딩하기 위한 정보는 상기 재동기화 포인트 다음에 상기 비트스트림이 존재하는 문맥과 관련된 정보를 포함한다.
또다른 양상에서, 디코딩하기 위한 방법 및 장치는 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 가지는 인코딩된 비트스트림을 수신하는 단계 및 수단; 및 상기 수신된 비트스트림을 디코딩하는 단계 및 수단을 포함한다.
또다른 양상에서, 비디오 디코딩 장치는 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 가지는 인코딩된 비트스트림을 수신하기 위한 수단; 및 상기 수신된 비트스트림을 디코딩하기 위한 수단을 포함한다.
상기 디코딩 방법 및 장치는 또한 상기 재동기화 포인트 정보에 기초하여 상기 비트스트림 내에 상기 재동기화 포인트를 위치시키는 단계 및 수단을 더 포함한다. 상기 비트스트림을 디코딩하기 위한 정보는 상기 비트 스트림 다음에 상기 재동기화 포인트가 인코딩되는 문맥과 관련된 정보를 포함한다. 디코딩 방법 및 장치는 상기 재동기화 포인트 정보 내에 포함된 상기 수신된 문맥 정보와 상기 디코딩된 비트스트림의 현재 문맥을 비교하는 단계 및 수단; 및 상기 비교가 상기 현재 문맥과 상기 수신된 문맥 정보가 동일하지 않음을 보여주는 경우에 상기 비트스트림을 디코딩하는 것을 중단하고 상기 비트스트림을 디코딩하는 것을 다시 시작하는 단계 및 수단을 더 포함한다. 상기 재동기화 포인트의 위치는 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버로부터 선택된 비디오의 섹션 내에 있다. 상기 재동기화 포인트의 위치는 매크로블럭의 시작부이다.
상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 관련된 정보를 포함한다. 상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함한다.
디코딩을 위한 방법 및 장치는 데이터 메세지 내에서 상기 재동기화 포인트 정보를 수신하는 단계 및 수단을 더 포함하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나이다. 디코딩을 위한 방법 및 장치는 가변 길이 코드를 사용하여 인코딩된 상기 재동기화 포인트 정보를 수신하는 단계 및 수단을 더 포함한다. 상기 디코딩을 위한 방법 및 장치는 비트스트림 내에서 에러를 검출하는 단계 및 수단; 상기 비트스트림의 디코딩을 중단하는 단계 및 수단; 및 상기 위치된 재동기화 포인트를 계속해서 디코딩하는 단계 및 수단을 포함한다.
또다른 양상에서, 멀티미디어 데이터를 코딩하기 위한 방법 및 장치는 재동기화 포인트 데이터를 인코딩하는 단계 및 수단; 및 상기 재동기화 포인트 데이터를 멀티미디어 스트림의 슬라이스에 입력하는 단계 및 수단을 포함한다. 멀티미디어 데이터를 코딩하기 위한 방법 및 장치는 상기 슬라이스 내에서 재동기화 포인트의 위치를 선택하는 단계 및 수단을 더 포함하며, 상기 입력 단계 및 수단은 상기 선택된 위치에 상기 재동기화 포인트를 입력하는 단계 및 수단을 포함한다. 상기 선택 단계 및 수단은 다수의 후보 위치들에 대하여 레이트 왜곡 비용을 계산하는 단계 및 수단; 및 상기 레이트 왜곡 비용에 기초하여 적어도 하나의 후보 위치를 선택하는 단계 및 수단을 포함한다. 상기 재동기화 포인트는 상기 멀티미디어 데이터의 문맥 정보를 포함한다.
또다른 양상에서, 멀티미디어 스트림을 처리하기 위한 방법 및 장치는 멀티미디어 스트림의 슬라이스 내의 재동기화 포인트 데이터를 수신하는 단계 및 수단; 및 상기 재동기화 포인트 데이터에 기초하여 멀티미디어 데이터를 재구성하는 단계 및 수단을 포함한다. 상기 재동기화 포인트는 상기 멀티미디어 데이터의 문맥 정보를 포함한다.
도 1은 스트리밍 비디오의 전달을 위한 통신 시스템의 일 예의 설명이다.
도 2는 16x16 픽셀 매크로 블럭 및 인접하는 16x16 매크로 블럭들의 일 예를 도시한다.
도 3은 IS-RSP들을 인코딩하기 위한 프로세스의 일 예를 도시한다.
도 4는 IS-RSP들을 사용함으로써 에러 전파가 포함되는 비디오 프레임을 도 시한다.
도 5는 최적의 후보 IS-RSP 위치들을 식별하기 위한 IS-RSP 인코딩 시나리오의 일 예이다.
도 6은 최적의 후보 IS-RSP 위치들을 식별하기 위한 레이트 왜곡 분석에서 사용하기 위한 에러 가능성들 및 연관된 왜곡들의 일 예이다.
도 7은 IS-RSP를 사용하는 디코더 프로세스의 일 예의 설명이다.
도 8은 IS-RSP를 사용하는 디코더 프로세스의 또다른 예의 설명이다.
도 9-10은 IS-RSP을 인코딩하기 위한 예시적인 방법 및 장치를 도시한다.
도 11-12은 디코딩을 위한 예시적인 방법 및 장치를 도시한다.
도 13-14은 IS-RSP를 인코딩하기 위한 예시적인 방법 및 장치를 도시한다.
도 15-16은 멀티미디어 스트림을 처리하기 위한 예시적인 방법 및 장치를 도시한다.
예를 들어, 슬라이스와 같은 비디오 비트 스트림의 섹션에 개선된 재동기화 포인트를 제공하는 방법들 및 장치가 설명된다. 인코더는 재동기화 포인트를 위치시키기 위해 사용되는 정보와 함께 재동기화 포인트를 뒤따르는 비트스트림을 디코딩하기 위해 사용되는 정보를 포함하는 재동기화 포인트 정보를 제공한다. 재동기화 포인트는 비디오 스트림의 섹션에 위치되기 때문에, 디코더는 상기 섹션에서 남아있는 데이터를 희생하지 않고 재동기화 포인트에서 재동기화할 수 있다. 그 예들은 비디오, 오디오, 또는 비디오와 오디오 데이터를 포함하는 멀티미디어 데이터 에 적용한다. 하기의 설명에서, 실시예들의 현저한 이해를 제공하기 위해 특정 세부 설명들이 제공된다. 그러나, 실시예들은 상기 특정 세부 설명들 없이 실행될 수 있음이 당업자에 의해 이해될 것이다. 예를 들어, 전기적인 구성요소들은 불필요한 설명으로 실시예들을 모호하게 하지 않기 위해 블럭 다이어그램들로 도시될 수 있다. 다른 경우들에서, 상기 구성요소들, 다른 구성요소들 및 기술들은 실시예들을 추가로 설명하기 위해 상세히 도시될 수 있다.
실시예들은 흐름도, 흐름 다이어그램, 구조적 다이어그램, 또는 블럭 다이어그램과 같이 도시된 프로세스로 설명될 수 있음에 주목하자. 흐름도는 순차적인 프로세스로서 동작들을 설명할 수 있지만, 대부분의 동작을은 병렬로 또는 동시에 수행될 수 있고, 프로세스는 반복될 수 있다. 부가적으로, 동작들의 순서는 재배열될 수 있다. 프로세스는 상기 동작들이 종료되면 중단된다. 프로세스는 방법, 기능, 절차, 서브루틴, 서브프로그램 등등과 일치할 수 있다. 프로세스가 하나의 기능과 일치할 때, 중단은 상기 기능의 호출 기능 또는 주요 기능으로의 복귀에 해당한다.
도 1은 스트리밍 비디오의 전달을 위한 통신 시스템의 일 예의 설명이다. 시스템(100)은 인코더 디바이스(105) 및 디코더 디바이스(110)를 포함한다. 인코더 디바이스(105)는 추가로 변환기/양자화기 구성요소(115), 엔트로피 인코더 구성요소(120), IS-RSP 위치측정기 구성요소(125), 메모리 구성요소(130), 프로세서 구성요소(135), 및 통신장치 구성요소(140)를 포함한다. 프로세서(135)는 다른 구성요소들의 프로세스들을 수행하기 위해 컴퓨팅 플랫폼을 제공한다. 변환기/양자화 기 구성요소(115)는 공간 영역으로부터의 비디오 데이터를 DCT(이산 코사인 변환)의 경우에 주파수 영역과 같은 또다른 영역으로 변환한다. 변환되는 데이터는 실제 비디오 데이터가 변환되는 인트라-코딩된 데이터가 될 수 있거나, 움직임 벡터 및 잔여 에러가 변환되는 인터-코딩된 데이터가 될 수 있다. 다른 디지털 변환들은 하다마르(Hadamard) 변환, DWT(이산 파장 변환) 및 H.264에서 사용된 것과 같은 정수 변환들을 포함한다.
변환기/양자화기 구성요소(115)는 변환된 계수들의 각각을 표시하기 위해 비트들을 할당한다. 변환된 계수들의 양자화는 모든 매크로블럭에 대하여 변경될 수 있다. 엔트로피 인코더 구성요소(120)는 문맥-적응형 가변 길이 코딩(CAVLC) 방식을 사용하여 잔여 블럭 데이터를 인코딩하고, 다른 가변 길이 코딩된 유니트들은 Exp-Golomb 코드들을 사용하여 코딩된다. 잔여 블럭 데이터는 예측 및 인코딩된 원래의 블럭 픽셀 정보 사이에서 서로 다르다. 슬라이스 계층 위에서, 구문 엘리먼트들은 고정된 또는 가변하는 길이의 이진 코드들로 인코딩된다. 슬라이스 계층 상에서 및 슬라이스 계층 밑에서, 엘리먼트들은 가변-길이의 코드들(VLCs)을 사용하여 코딩된다. H.264 표준은 엔트로피 코딩 방식으로 문맥-기반의 적응형 이진 산술 코딩(CABAC)을 지원한다. 본 명세서에서 논의되는 예시적인 방법들은 CAVLC 엔트로피 코딩 방식을 취급하지만, 유사한 방법들이 CABAC 엔트로피 코딩과 함께 사용될 수 있다. IS-RSP 위치측정기 구성요소(125)는 IS-RSP들로 사용될 수 있는 슬라이스 내의 매크로블럭 경계들의 세트를 식별하기 위해 사용되는 계산들을 수행한다. 한가지 방식에서, 레이트 왜곡 비용 최적화 분석은 IS-RSP들을 위한 최적 위치들을 탐색하는데 사용된다. 메모리 구성요소(130)는 인코딩될 원래의 비디오 데이터, 전송될 인코딩도니 비디오 데이터, 또는 다양한 인코더 구성요소들에 의해 동작되는 중간 데이터와 같은 정보를 저장하기 위해 사용된다.
예를 들어, 수신기와 같은 통신장치 구성요소(140)는 외부 소스(145)로부터 인코딩될 데이터를 수신하기 위해 사용된 회로 및/또는 로직을 포함한다. 외부 소스(145)는 예를 들어, 외부 메모리, 인터넷, 라이브 비디오 및/또는 오디오 공급장치가 될 수 있으며, 데이터를 수신하는 것은 유선 및/또는 무선 통신들을 포함할 수 있다. 통신장치 구성요소(140)는 또한 네트워크(150)를 통해 인코딩된 ㅔ이터를 전송(Tx)하기 위한 송신기와 같은 회로 및/또는 로직을 포함한다. 네트워크(150)는 전화기, 케이블 및 광섬유와 같은 유선 시스템 또는 무선 시스템의 일부가 될 수 있다. 무선 통신 시스템들의 경우에, 네트워크(150)는 예를 들어, 코드 분할 다중 접속(CDMA 또는 CDMA2000) 통신 시스템의 일부를 포함할 수 있거나, 선택적으로 시스템은 주파수 분할 다중 접속(FDMA) 시스템, GSM/GPRS(범용 패킷 무선 서비스)/EDGE(개선된 데이터 GSM 환경) 또는 서비스 산업을 위한 TETRA(지상 간선 무선 시스템)와 같은 이동 전화기 기술시간 분할 다중 접속(TDMA), 광대역 코드 분할 다중 접속(WCDMA), 높은 데이터 레이트(1xEV-DO 또는 1xEV-DO 골드 멀티캐스트) 시스템 또는 일반적으로 상기 기술들의 조합을 사용하는 임의의 무선 통신 시스템이 될 수 있다. 인코더 디바이스(105)의 하나 또는 그이상의 엘리먼트들은 생략되고, 재배열되고, 및/또는 결합될 수 있다. 예를 들어, 프로세서 구성요소(135)는 인코더 디바이스(105)의 외부 장치가 될 수 있다.
디코더 디바이스(110)는 역변환기/역양자화기(155), 엔트로피 디코더 구성요소(160), 에러 복원 구성요소(165), 메모리 구성요소(170), 통신장치 구성요소(175) 및 프로세서 구성요소(180)을 포함하여 인코더 디바이스(105)와 유사한 구성요소들을 포함한다. 디코더 디바이스(110)는 네트워크(150)를 통해 또는 외부 저장장치(185)로부터 전송된 인코딩된 데이터를 수신한다. 통신장치 구성요소(175)는 네트어크(150)와 함께 인코딩된 데이터를 수신(Rx)하기 위해 사용되는 수신기와 같은 회로 및/또는 로직 뿐만 아니라 외부 저장장치(185)로부터 인코딩된 데이터를 수신하기 위한 로직을 포함한다. 외부 저장장치(185)는 예를 들어, 외부 RAM 또는 ROM, 또는 원격 서버가 될 수 있다. 인트라-코딩된 데이터는 먼저 엔트로피 디코딩 구성요소(160)에 의해 디코딩된다. 엔트로피 디코딩 이후에, 데이터는 역변환기/역양자화기 구성요소(155)에 의해 역양자화되고 역변환되며, 그 결과 디스플레이 구성요소(190)에 디스플레이될 수 있는 디코딩된 픽처를 발생한다.
인터-코딩된 데이터는 예측된 기준 프레임(들)이 디코딩된 이후에 디코딩될 수 있다. 데이터는 엔트로피 디코더 구성요소(160)에 의해 디코딩되며, 그 결과 양자화/변환된 잔여 에러 계수들에서 발생한다. 잔여 에러 계수들은 역변환기/역양자화기 구성요소(155)에 의해 역양자화되고 역변환되며, 그 결과 디코딩된 잔여 에러를 발생한다. 잔여 에러는 그후에 수신된 움직임 벡터 정보를 사용하여 식별되는 기준 프레임(들)로부터의 최적 매칭 매크로블럭(들)과 결합된다. 디코딩된 프레임들은 디스플레이 구성요소(190)를 사용하여 디스플레이되거나, 외부 저장장치(185)에 저장되거나 프로세서 구성요소(180)의 내부 메모리에 저장될 수 있다. 디스플레이 구성요소(190)는 디스플레이 스크린을 포함하여 비디오 디스플레이 하드웨어 및 로직으로서 상기 부분들을 포함하는 디코딩 디바이스의 집적된 부분이 될 수 있거나 외부 주변 디바이스가 될 수 있다. 통신장치 구성요소(175)는 디코딩된 프레임들을 외부 저장장치 구성요소(185) 또는 디스플레이 구성요소(190)에 통신하는데 사용되는 로직을 포함한다.
엔트로피 디코더 구성요소(160)는 다양한 구문 및 의미 검사들을 수행하기 위한 로직을 포함한다. 구분 및 의미 검사들은 몇가지 규칙들 중 몇몇을 위반하는 오염된 코드워드들을 식별하기 위해 사용된다. 만약 비트스트림이 오염된 것으로 결정되면, 에러 복원 구성요소(165)는 디코딩이 계속되도록 하기 위해 비트 스트림 내에 다음의 가장 인접한 오염되지 않은 IS-RSP를 위치시킨다. IS-RSP 위치측정기 구성요소(125) 및 에러 복원 구성요소(165)에 의해 수행된 프로세스들의 세부사항들이 하기에 논이된다. 인코더 디바이스(110)의 하나 또는 그 이상의 엘리먼트들은 생략되고, 재배열되고, 및/또는 결합될 수 있다. 예를 들어, 프로세서 구성요소(180)는 인코더 디바이스(105)의 외부에 존재할 수 있다.
H.264에서 문맥 적응형 가변 길이 코딩(CAVLC)의 도입은 재동기화 문제를 복잡하게 한다. H.264에서, 다수의 심볼들은 문맥에서 인코딩되며, 각각의 심볼의 가능성은 코딩되는 문맥과 관련하여, 즉 심볼 이전에 처리되는 것에 관련하여 변환한다. 상기 문맥 의존성으로 인해, 동기화의 심볼 위험 손실에 대한 손실 뿐만 아니라, 심볼이 인코딩된 문맥을 결정하는 다른 데이터의 손실은 동기화의 위험 손실이 된다. 따라서, CAVLC 비트스트림에 재동기화 포인트(IS-RSP)를 제공하기 이해, 디코더는 비트스트림 내에서 보기 위한 위치뿐만 아니라 후속 심볼들이 의존하는 문맥 정보를 요구할 수 있다. H.264 문맥 적응형 비트스트림에서 재동기화를 가능하게 하기 위해 IS-RSP에서 정보가 요구되는 것을 도시하는 일 예가 논의될 것이다. 도 2는 16x16 픽셀 매크로블럭 및 인접하는 16x16 매크로블럭들의 일 예를 도시한다. 매크로블럭(200)은 16개의 4x4 픽셀 블럭들(201 내지 216)을 포함한다. 상기 예에서, 매크로블럭(200)은 인트라-코딩된 매크로블럭인 것으로 가정된다. 인트라-코딩된 및 인터-코딩된 매크로 블럭들의 문맥 의존성들은 서로 다르다. 인트라-코딩된 매크로블럭(200)을 위한 문맥 적응형 인코딩은 인접하는 매크로블럭들(220, 230)의 파라미터들에 따라 결정된다. 매크로블럭(200)의 인코딩 및 디코딩은 인접하는 4개의 4x4 픽셀 블럭들(221 내지 224) 및 인접하는 4개의 4x4 픽셀 블럭들(231 내지 234)에서 비-제로 계수들(Y, Cr, Cb 계수들)의 개수에 따라 결정된다. 매크로블럭(200)의 인코딩 및 디코딩은 매크로블럭(220)을 인코딩하는데 사용된 양자화 파라미터 값 및 몇몇 경우들에서 블럭들(221 내지 224) 및 블럭들(231 내지 234)의 인트라 예측 모드들에 따라 결정된다. 만약 블럭(200)의 CAVLC 인코딩된 심볼들을 디코딩하는 동안 매크로 블럭들(220 또는 230)을 위한 문맥 파라미터들이 손실되면, 디코더는 추가의 디코딩을 사용하여 진행될 수 없고, 재동기화가 요구된다. H.264에서, 재동기화를 위해 NALU 프리픽스 코드들을 사용할 때, 매크로블럭(200)을 포함하는 슬라이스의 휴지는 손실될 수 있다. 그러나, 만약 매크로블럭(200)이 재동기화 포인트이면, 디코딩은 매크로블럭들(220, 230)의 상태에 관계없이 진행할 수 있고, 이는 IS-RSP가 하기에 논의되는 것과 같은 인접하는 블럭 들에 대하여 필수의 문맥 파라미터를 포함하기 때문이다.
재동기 포인트는 비트 스트림읠 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 재동기화 포인트 이후에 비트스트림을 디코딩하기 위해 사용된 인코딩 정보를 포함하는 재동기화 포인트 정보를 인코딩함으로써 형성된다.
예를 들어, 매크로블럭(200)을 재동기화 포인트로 형성하기 위해, IS-RSP 메세지는 IS-RSP 마커(240)를 위치시키고 매크로블럭(200)을 위치시키기 위해 디코더에 의해 사용된 정보를 사용하여 인코딩될 수 있다. 견고한 재동기화 포인트를 제공하기 위해, IS-RSP 메세지는 디코더가 매크로블럭(200)을 디코딩하는데 필요한 인접하는 MB 정보(매크로블럭(200)을 디코딩하는데 필요한 종속 정보)와 함께 비트스트림 내의 매크로블럭의 위치와 관련하여 정보 및 프레임 내의 매크로블럭의 위치와 관련된 정보를 포함할 수 있다.
일 예로서, 인트라-코딩된 매크로블럭이 H.264에서 재동기화 포인트로서 사용되도록 하기 위해, 예를 들어, IS-RSP 패킷은 하기의 H.264 특정 파라미터들을 포함할 수 있다:
● 비트스트림 내에 IS-RSP 매크로블럭의 시작 위치를 제공하는 MB 비트 오프셋.
● IS-RSP 매크로블럭의 공간 위치를 식별하는 MB 어드레스 오프셋 또는 인덱스.
● IS-RSP 매크로블럭의 상부 또는 좌측에 8개의 4x4 블럭들을 위한 비-제로 계수들의 갯수.
● IS-RSP 매크로블럭의 상부 및 좌측에 8개의 4x4 블럭들을 위한 인트라 예측 모드들(만약 IS-RSP가 인트라 16x16 모드에서 인코딩된 매크로블럭을 가리키면, 상기 정보는 생략될 수 있다.
● IS-RSP 매크로블럭의 좌측에 MB를 위한 양자화 파라미터(QP) 값.
상기 최종 3개 아이템들은 전술된 것과 같은 문맥 적응형 파라미터들을 식별한다.
재동기화 포인트들로 사용될 인터-코딩된 매크로블럭들은 동일한 MB 비트 오프셋 및 MB 어드레스 오프셋 정보를 가질 수 있지만, 인접하는 매크로블럭들 또는 다른 문맥 적응형 의존성들과 관련하여 서로 다른 정보를 가질 수 있다. 인터-코딩된 MB들을 위한 문맥 적응형 파라미터들은 하기의 정보를 포함한다:
● 인접하는 MB 모드들(상부 또는 하부 매크로블럭들).
● 인접하는 4x4 블럭들에서 비-제로 계수들의 갯수.
● 인접하는 4x4 블럭들을 위한 움직임 벡터들 및 기준 화상 인덱스.
일 예에서, IS-RSP 데이터는 "사용자_데이터_미등록된" 보충 개선 정보(SEI) 메세지들 내에서 전송될 수 있고, 따라서 H.264 비트스트림의 컴플라이언스(compliance)를 유지한다. 상기 예가 H.264 표준에 특정되지만, IS-RSP의 기본 원칙들은 MPEG-x 및 H.26x와 같은 다른 하이브리드 비디오 코딩 표준들에 용이하게 적용될 수 있다. 이는 모든 상기 표준들의 구문들이 몇몇 방식 또는 다른 방식으로 H.264의 SEI 메세지 또는 MPEG-2의 사용자_데이터와 같은 대역 내 애플리케이션/사용자 특정 개인 데이터를 전달하기 위한 공급들을 제공하기 때문에 사실이다. IS-RSP 데이터는 코딩 효율을 개선하기 위해 압축 코딩 기술들을 사용하여 코딩될 수 있다. 예를 들어, 만약 IS-RSP들이 프레임 내에서 서로 공간적으로 인접하여 배치되면, IS-RSP 데이터는 코딩 효율을 개선하기 위해 공간 예측 기술들을 사용하여 코딩될 수 있다.
인트라-슬라이스 재동기화 포인트, 또는 IS-RSP는 슬라이스들과 다른 비디오 섹션들로 확장될 수 있다. 슬라이스 또는 MPEG-x 표준들에 공지된 것과 같은 블럭들의 그룹은 H.264 또는 MPEG-x 비디오 시퀀스 계층에서 다수의 분할될 섹션들 중 하나이다. H.264 계층은 하나 또는 그 이상의 화상들(또는 프레임들)로 구성된 시퀀스들이며, 상기 화상들은 하나 또는 그 이상의 슬라이스들로 구성되고, 상기 슬라이스들은 하나 또는 그 이상의 매크로블럭들로 구성된다. 매크로블럭들은 다양한 크기의 서브-매크로블럭들로 추가 분할될 수 있다. 재동기화 포인트들은 인트라-시퀀스, 인트라-프레임 및 인트라-슬라이스와 같은 임의의 레벨의 분할된 비디오에서 재동기화를 가능하게 하는 정보를 포함할 수 있다. 예를 들어, 만약 슬라이스 헤더 정보가 오염되면, 오염된 슬라이스에서 재동기화를 가능하게 하는 RSP는 상기 슬라이스 정보를 필요로 하며, RSP는 실질적으로 인트라-프레임 RSP가 될 것이다.
IS-RSP들은 엄청난 양의 오버헤드 데이터를 포함하기 때문에 모든 매크로블럭에 대하여 전송될 필요는 없다. 인코더 디바이스는 IS-RSP들을 위치시킬 장소를 지능적으로 선택하기 위해 하기에 설명된 것과 같은 알고리즘을 사용할 수 있다. 하기에 설명된 알고리즘은 에러 회복성을 개선하면서 오버헤드를 최소로 유지하기 위한 방법의 일 예이다.
재동기화 포인트는 인코딩 프로세스에 의해 발생될 수 있고, 채널 장애들을(설명될 트레이드-오프에 기초하여 가능하면 빈번하게) 대항하기 위해 디코딩 프로세스에서 사용될 수 있다. 또한 재동기화 포인트들은 비트스트림에서 고유하게 식별할 수 있다. 또한, 그들의 구조는 잡음으로 인한 대리 실행(emulation) 뿐만 아니라 그들의 신뢰성있는 검출(통계학상 관점에서)을 불가능하게 하는 정도로 잡음에 의한 변경에 대하여 적절한 면역성 레벨을 제공한다. 재동기화 포인트들은 IS-RSP 이전의 기준 매크로블럭들로부터 향후 공간 및/또는 시간 예측들을 제한하는 적절한 디폴트 값들로 모든 예측자들을 초기화함으로써 예측 코딩 의존성들의 전파를 차단하도록 제공될 수 있다.
인트라-슬라이스 재동기화 포인트들의 식별을 위한 인코더 프로세스의 포괄적이며 적절한 설계는 (1) 채널 모델, (2) 애플리케이션용 대역폭 및 품질(왜곡) 제약들 및 (3) 프레임 컨텐트를 고려할 수 있다.
컨텐트 의존성은 애플리케이션에 따라 바람직할 수 있다. 하나의 가능한 애플리케이션에서, 특정 슬라이스를 위한 인트라-슬라이스 재동기화 포인트들의 부재는 디코더와 인코더 모두에게 공지된 적절한 (공간적 또는 시간적) 숨김 알고리즘이 상기 슬라이스에서 에러 및 후속하는 데이터 손실의 경우에 매우 만족스럽게 수행할 수 있는 디코더에 암시하기 위해 사용될 수 있다.
하기의 설명은 문맥 적응성의 형태를 포함하는 예시적인 IS-RSP 인코딩 방식이다. 상기 방식은 일반적인 프레임 네트워크 및 재동기화 포인트의 위치를 식별 하기 위해 인코더에 의해 적응될 원칙들을 설명하기 위해 제공될 수 있다.
도 3은 IS-RSP들을 인코딩하기 위한 예시적인 프로세스의 일 예를 도시한다. 프로세스(300)는 다수의 후보 위치들 이외의 최적의, 또는 거의 최적의 IS-RSP 위치를 식별하기 위한 반복 루프를 포함한다. 상기 프로세스는 IS-RSP의 위치가 가변으로 또는 적응적으로 선택되게 한다. 상기 가변성 또는 적응성은 연속하는 재동기화 포인트들이 예를 들면 재동기화 포인트가 매 100개 매크로블럭들마다 존재하는 고정된 거리 간격으로 위치되는 방법에서 장점을 제공한다. 도 1의 프로세스(135)와 함께 IS-RSP 위치측정 구성요소(125)와 같은 인코딩 수단들은 프로세스(300)를 수행할 수 있다. 인코더(또는 선택기)는 단계(305)에서 IS-RSP에 대한 후보 위치들을 선택한다. IS-RSP들을 위한 푸보 위치를 선택하는 방법들의 세부 설명들이 하기에서 논의된다. 레이트 왜곡 비용과 같은 측정치는 예를 들어, 단계(310)에서 계산된다. 하기에서 논의되는 레이트 왜곡 비용과 같은 단계(310)에서 사용된 측정치는 IS-RSP로 인해 부가된 비트들의 개수와 예측된 에러에 의해 발생된 잠재적인 왜곡 사이의 트레이드 오프를 측정한다. 후보 위치들을 위한 레이트 왜곡 비용들의 비교는 IS-RSP 위치를 선택하는데(315) 사용된다. 선택된 위치는(비용 계산(310)에 기초하여) 메모리 내에 저장된다. 결정 블럭(320)은 테스트될 더 이상의 후보 위치들이 존재하는지를 검사하고, 더 이상의 후보 위치들이 존재하는 경우에 단계들(305, 310, 315)을 반복하고, 더 이상의 후보 위치들이 존재하지 않는 경우에 단계(325)에서 IS-RSP 정보를 인코딩함으로써 프로세스(300)를 종료한다. 프로세스(300)의 하나 또는 그 이상의 엘리먼트들은 생략되고, 재배열 되고, 및/또는 결합될 수 있다.
도 4는 에러 전파가 IS-RSP들을 사용함으로써 제어되는 비디오 프레임을 도시한다. 프레임(400)은 단일 슬라이스 및 6개 로우들(420a-420f)로 구성된 인트라-코딩 프레임을 나타내며, 상기 로우들(420a-420f)은 매크로블럭들(비도시)로 구성된다. 도 3에 도시된 것과 같은 인코딩 프로세스는 프레임(400) 내에 다수의 IS-RSP들을 위치시킨다. 전술되고 도 2에 도시된 것과 같이, 각각의 인크라-코딩된 매크로블럭의 디코딩은 디코딩된 매크로블럭의 좌측 또는 상부에서 인접하는 매크로블럭들에 포함된 지식에 따라 결정된다. 만약 어떤 IS-RSP들(405)도 프레임(400)에 포함되지 않으면, 에러(410)는 에러를 경험한 이후에 디코딩된 전체 프레임을 통해 전파할 것이다. 디코더가 다음 슬라이스(다음 NALU 프리픽스 코드)에서 재동기화도록 하기 때문에, 상기 디코더는 제 2 로우(420b)의 대부분 및 로우들(420c-420f) 모두에서 손실을 발생한다. IS-RSP들(405)를 도시되는 것과 같이 위치시킴으로써, 에러 전파는 IS-RSP(405b)의 좌측 및 하부에 위치된 영역들(415)로 제한된다. 로우(420b)에서 재동기화 포인트 IS-RSP(405b) 이후에, 로우의 나머지가 디코딩될 수 있다. 로우(420c)에서, 오염된 매크로블럭들 밑의 매크로블럭들은 상부의 인접하는 매크로블럭들에 대한 그들의 의존성으로 인해 다음 재동기화 포인트 IS-RSP(405c) 까지 재구성될 수 없다. 로우(420c) 내의 IS-RSP(405c)가 로우(420b) 내의 IS-RSP(405b)의 좌측에 위치되기 때문에, 로우(420c) 내의 에러(415)는 이전에 포함된다. 이는 슬라이스 재동기화 NALU에 의해 제공되는 것보다 훨씬 더 바람직한 왜곡 조건이다.
도 5는 후보 IS-RSP 위치들을 식별하기 위한 IS-RSP 인코딩 방법의 일 예이다. 프레임(500)은 로우들(505)로 구성되고, 상기 각각의 로우(505)는 슬라이스를 포함한다. 상기 예에서, 인코더는 각각 매크로블럭들의 좁은 영역 내에 있는 슬라이스 마다 2개의 IS-RSP들을 제공하기 위한 것이다. 제 1 영역은 3개의 매크로블럭 위치들(510, 515, 52)을 포함하며, 제 2 위치는 3개의 매크로블럭 위치들(525, 530, 535)을 포함한다. 도시된 것과 같은 슬라이스들의 중심 위치들에 슬라이스들을 위치시킴으로써, 에러 전파가 감소할 수 있다.
하기에 제공되는 레이트 왜곡(R-D) 최적화 문제는 하기의 명명법(nomenclature), 음절의 장단(quantity)들 및 기호법을 사용할 수 있다. R-D 비용 함수의 공통의(합성된) 형태는 IS-RSP들의 양호한 위치들의 탐색시 음절의 장단이 최소화되는 것으로 다음과 같이 제공된다:
R+λD [1]
R 및 D는 각각 특정 코딩 모드를 선택하는 것과 연관된 레이트(IS-RSP를 인코딩하는데 요구되는 비트들의 개수) 및 왜곡(재구성 에러)를 표시하며, λ는 특정 R-D 최적화 세팅에서 취해질 레이트와 왜곡 사이의 트레이드-오프를 설명하는 언어 곱셈기이다. 따라서, 비용 함수는 재동기화 포인트를 인코딩하는데 발생하는 추가 비용 대 감소된 왜곡의 절약의 트레이드 오프를 평가한다.
하이브리드 비디오 인코더에서 수행되는 표준 R-D 최적화는 매크로블록 코딩 모드를 결정하는데 사용되는 하나의 방식이다. 즉, 일반적으로, 다수의 파라미터들을 갖는 벡터 양은 재동기화 포인트에 의해 부가되는 어떠한 제한도 없는 것으로 가정한다. 위치(i)(여기서, , 또는 의 바로 우측 매크로블록에 대한 인코더의 표준 R-D 최적화 공식에 대한 해법은 각각 레이트 및 왜곡으로서 및 를 산출한다. 따라서, 어떠한 재동기화 포인트 삽입 및 데이터 손실 없음을 가정하여, 총 비용은 다음과 같이 주어진다:
신뢰성이 떨어지는 채널에 있어서, 공식 2(데이터 손실이 없음을 가정함)는 불충분하고, 수정되어야 한다. 임의의 충분한 공식은 랜덤 채널 행동을 고려하여야 하고, 총 비용은 상술한 공식[2]에서 계산된 결정론적인 양이 아니라, 기대 양(확률 평균)이 된다.
보다 현실적인 손실-고려 분석은 에러로 인한 기대 비용을 관련시키고, 표준 R-D 최적화 문제에 대한 해법을 선택한다(즉, 어떠한 재동기 포인트도 위치(i)에 삽입되지 않지만, 손실들이 가능하다). 슬라이스가 에러가 되는 확률이 결정되고, 로 표시된다. 또한, 슬라이스가 에러인 경우, 손상(corruption)이 단일 포인트에서 발생하였고, 수개 비트에 대해 발생하였다고 가정된다. 이러한 2개의 가정들은 적절한 (데이터/심벌) 인터리빙 기술들을 사용함으로써 매우 정확하게 될 수 있고, 특히 디지털 무선 통신의 경우 특히 그러하다. 간략화의 최종 단계(piece)로서, 슬라이스가 에러이고, 그 슬라이스 내의 정확한 에러 위치가 매크로 유닛들에 대해 비균일하게 분포된다고 가정된다. 보다 정확한 모델은 그 슬라이스의 각 매크로블록의 코딩된 표현들 사이즈(비트들 수)를 고려할 수 있었다. 이러한 가정들 하에서, 어떠한 재동기 포인트 삽입 없는 채널-인지(aware) 기대 총 비용은 다음과 같이 수정될 수 있다:
여기서, 공식 [3]에서 새로이 도입된 파라미터들은 도6에 제시된다. 도6은 최적 후보 IS-RSP 위치들을 식별하기 위해 레이트 왜곡 분석에서 사용하기 위한 관련 왜곡들 및 에러 확률들의 예를 보여준다. 조건분 확률 는 슬라이스에서 에러가 존재하는 경우(여기서 는 에러를 갖는 확률임) 위치 에 앞서 에러를 갖는 확률이다. (620)는 에러(615)로 인해 삽입될 후보 IS-RSP에 앞서 손실된 슬라이스 데이터와 관련된 왜곡이다. 는 삽입될 후보 IS-RSP 후에 손실된 슬라이스 데이터와 관련된 왜곡이다.
위치 에 대해 고려되는 후보 재동기화 포인트에 뒤이어 슬라이스가 훼손되는 확률은 이러한 후보 재동기화 포인트의 삽입을 선호하지 않는데, 왜냐하면, 이는 도움이 되지 않기 때문이다. 따라서, 불공정한 바이어스를 방지하기 위해서, 위치 의 우측에서 발생하는 가능한 에로들로 기인하는 슬라이스 데이터 손실에 기인한 공식[3]에서의 왜곡 기여분은 존재하는 않는다.
위치 에서 인트라-슬라이스 재동기화 포인트의 존재는 에러 위 치(610) 및 위치 사이에서 발생하는 슬라이스 데이터 손실을 피하지 못한다. 따라서, 후보 재동기화 포인트에 앞선 에러의 경우, 슬라이스 데이터의 이러한 세그먼트의 손실로부터 기인할 수 있는 왜곡 은 확실하다. 따라서, 는 에서 재동기화 포인트 삽입 또는 비-삽입의 선택들(alternatives)을 평가하는데 사용되는 기대 총 비용 함수에 포함된다.
양 (quantity)는 디코더에 가용한 적절한 공간 또는 시간 소거 알고리즘의 영향을 감소시키는 왜곡을 고려한다. 아래에서 설명될, '비은닉' 및 '완전한 은닉'의 2가지 극단적인 경우들을 고려하는 것이 흥미롭고 유익하다.
다음 단계는 (일 예에서 레이트 왜곡 계산기 컴포넌트를 사용하여) 위치 에서 IS-RSP 실제 삽입과 관련된 예상 '채널-인지' R-D 비용을 계산하는 것이다. 재동기화 포인트 직후(즉, 재동기화 포인트 우측) 매크로 블록을 처리하는 동안, 인코더는 상술한 재동기화 실현을 지원하는 코딩 제한들을 준수하여야 한다(예를 들면, 모든 예측기들을 적절한 디폴트 값들로 초기화함). 이러한 제한들 하에서, 인코더는 위에서 논의된 R-D 최적화 문제와 매우 유사하게, 다음 형태의 R-D 최적화 문제를 공식화 및 해결하였다고 가정된다:
공식[4]에서, 및 는 각각 재동기화 포인트 매크로블록에 대해 선택된 제한된 코딩 모드와 관련된 레이트 및 왜곡(재건 에러)이고, 는 비트 스트림에 포함될 요구되는 오버헤드 정보와 관련되는 레이트이다(예를 들면, SEI 메시지에 포함되는 IS-RSP 정보). 상술한 바와 같이, 공식[4]에서 R-D 비용 표현은 비-채널-인지이고, 채널 인지를 도입하기 위해서 다음과 같이 수정될 수 있다:
디코딩이 위치 에서 재시작될 수 있기 때문에, 왜곡 는 제로로 설정될 수 있다. 위치 "i"에서 삽입된 재동기화 포인트를 갖는 것과 관련된, 결과적인 '채널-인지' 예상 R-D 비용은 다음과 같이 주어진다:
따라서, IS-RSP를 위치시키기 위한 양호한 매크로블록 위치를 식별하는 전체 알고리즘은 IS-RSP가 없는 경우에 대한 공식[3]에 의해 주어진 R-D 비용들과(하기 공식[7] 참조), IS-RSP를 포함하는 경우에 대한 공식[6]에 의해 주어지는 R-D 비용들(하기 공식[8] 참조)을 비교한다. 인코더는 다음 2개의 양들을 계산할 수 있다:
공식[7] 및 [8]은 도5의 또는 를 포함하여, IS-RSP 위치설정을 위해 모든 후보 위치들에 대해 계산된다. 적어도 이들 후보 위치들 중 적어도 하나에서, 부등식 이 만족되면, 인코더는 IS-RSP 삽입을 결정한다. 부등식 가 2개 이상의 후보 위치들에서 만족되면, 인코더는 선택을 하여야 하며(도3의 단계(315)에서 제시됨), 이는 의 가장 작은 값을 초래하는 위치를 선호할 수 있다. 이는 컨텐츠 적응성 레벨을 인에이블하는데, 왜냐하면, 재동기화 포인트가 적절한 이미지 특징들로 정렬되는 경우, 재동기화 포인트들과 관련된 인코딩 제한들은 훨씬 덜 중요할 수 있기 때문이며, 예를 들면 좌측 이웃들로부터 수직 에지를 걸쳐 수평 예측이 이미 만족스러운 성능을 제공하지 못하면, 이는 바람직하지 않게 된다. 이러한 경우들에서, 및 는 각각 그 값에서 및 와 근접하여, 완전한 유연성(flexibility)으로 인코딩 R-D 성능 장점을 감소시키고, 왜곡 성분으로 인한 및 사이의 차이를 넓히며, 따라서 IS-RSP 삽입 가능성을 증가시킨다.
왜곡에 대한 상당한 염려를 반영하는 매칭 인코더 설계 및 애플리케이션을 고려하면( 값이 0으로부터 멀어짐), 흥미로운 상황이 발생한다. 채널에 대한 가 미미하지 않은 것으로 가정한다. 디코더에서 '비 은닉'의 극단적인 경우에, 총 신호 손실을 나타내는 왜곡 성분 는 매우 크고, 를 중요한 항으로 만들고, (공식 [8]에서 제시됨)보다 큰 (공식 [7]에서 제시됨)를 초래하여, 재동기화 포인트 삽입을 제안하게 된다. 다른 극단적인 상황에서, '완벽한 은닉'(이는 성공적인 은닉 알고리즘 및 적절한 이미지 컨텐츠에 의해 잘 근사화될 수 있음)을 가정하면, 슬라이스 데이터 손실들로부터 비롯되는 모든 왜곡 성분들은 다음 비용들을 남기고 사라진다(각각 공식 [7] 및 [8]로부터):
재동기화 포인트에 의해 부가되는 제한들 하에서 실행되는 인코딩의 부-최적 성능뿐만 아니라, IS_RSP를 식별하기 위해서 오버헤드 정보에 대해 허용될 필요가 있는 추가적인 레이트 는 를 야기할 수 있고, 이는 재동기화 포인트의 사용 회피를 의미한다. 이러한 2개의 극단적인 상황들 사이의 다른 경우들에서, 공식 [7] 및 [8]은 인트라-슬라이스 재동기화 포인트들을 위치 설정하기 위해 사용할, 간단하지만, 유용한 프레임워크를 제공한다.
도7은 IS-RSP를 이용하는 디코더 처리의 일 예를 보여주는 도이다. 프로세 서(700)는 도1의 디코더 장치(110)와 같은 디코더 수단에 의해 수행될 수 있다. 디코더 장치는 먼저 상술한 예에서 논의된 방식으로 IS-RSP들로 인코딩되었던, 인코딩된 비디오 비트 스트림을 단계(705)에서 수신한다. 도1의 통신 컴포넌트들과 같은 수신 수단은 단계(705)를 수행할 수 있다. 디코더 장치는 비트스트림을 인코딩하기 위해서 사용된 H.26x 및 MPEG-x와 같은 표준들에서 규정된 방법들을 사용하여 단계(710)에서 수신된 비디오 비트스트림을 디코딩한다. 도1의 역변환/역 양자화 성분(155)과 같은 디코딩 수단은 단계(710)를 수행할 수 있다. H.26x 및 MPEG-x 표준들을 표준 순응 인코더 및 디코더들에 의해 준수되어야만 하는 의미 및 구문 가이드라인들을 설명한다. 비트스트림이 손상되었는지 여부를 인지하기 위해서 디코더는 디코딩된 변수들의 값을 단계(715)에서 의미 및 구문 룰들에서 선택된 값들 범위와 비교한다. 도1의 엔트로피 디코딩 성분(160) 및 에러 복원 성분(165)과 같은 비교 수단은 단계(715)의 의미 및 구문 비교 검사들을 수행할 수 있다. 시맨틱 비교 검사는 다음을 포함하지만, 이로 제한되지는 않는다:
·NAL 유닛 헤더 바이트 구문 구성 요소.
·SPS(시퀀스 파라미터 세트) 구문 구성 요소.
·PPS(픽쳐 파라미터 세트) 구문 구성 요소.
·슬라이스 헤더 구문 구성 요소.
·슬라이스 레벨 액세스 유닛 기술자.
·디코딩된 매크로블록의 총 수.
·매크로블록 레벨 구문 구성 요소.
·(문맥 의존 방식의) 이용성 플래그.
·연속적인 디코딩을 가능하게 하는 비트스트림 버퍼의 불충분한 데이터.
·외부에서 제공된 기준 프레임 버퍼(크기 카운트) 대 현재 즉, 활성 SPS 함축성.
구문 비교 체크는 CAVLC 엔트로피 코드워드의 디코딩과 관련한 디코딩 실패를 포함한다. 만일 소정의 구문 또는 구문 룰이 위반되거나 에러 비트가 소정의 다른 방식으로 검출되면, 단계(720)는 이러한 실패를 검출하고 재동기화를 개시한다. 만일 어떤 룰도 단계(702)에서 위반되지 않으면, 단계(725)는 디코딩할 추가 데이터가 있는지를 체크한다. 도1의 에러 복구 소자(165)와 같은 디코딩 수단은 단계(720) 및 단계(725)의 동작을 수행한다. 만일 더 많은 데이터가 존재하면, 단계(705 내지 725)(및 가능하게는 730)는 어떠한 데이터도 존재하지 않을 때까지 계속되며, 프로세스는 종료한다.
만일 에러 비트가 검출되면, 재동기화가 수행된다. 재동기화를 위해, 디코더는 단계(730)에서 비트스트림에 다음의 틀리지 않은 IS-RSP를 배치시키며, 단계(705 내지 730)를 반복하여 배치된 다음의 틀리지 않은 IS-RSP로부터 디코딩을 재시작한다. 도1의 에러 복구 소자(165)와 같은 배치 수단은 단계(730)에서 배치 동작을 실행한다. 디코더는 단계(705)에서 비트스트림의 수신된 IS-RSP 정보를 수신했을 수도 있다. IS-RSP 정보는 일예에서, H.264의 SEI 메시지 또는 MPEG-2의 사용자_데이터 메시지와 같은 대역내 애플리케이션 메시지 또는 사용자 특정 개별 데이터 메시지에 포함될 수도 있다. 이러한 메시지는 전술한 바와 같이 비디오 프 레임 내에서 IS-RSP 매크로블록의 위치와 관련된 정보는 물론, 비트스트림 내의 IS-RSP의 위치와 관련된 정보를 포함한다. 메시지는 또한 전술한 바와 같이, IS-RSP 한정된 매크로블록 위치에서 디코딩을 재시작(단계 710)하기 위해 디코더에 대해 필요한 정보를 포함한다. 프로세스(700)의 하나 이상의 요소는 생략, 재배치 및/또는 결합될 수도 있다.
도8은 IS-RSP를 이용하는 디코더 프로세스의 다른 예를 도시한다. 프로세스(800)는 도7의 프로세스(700)와 같은 유사한 단계를 포함하지만, IS-RSP는 도7에 도시된 바와 같이 비트스트림의 손상을 검출하고 이어 IS-RSP를 배치시키는 것과는 대조적으로, 앞서 검출되지 않은 손상된 비트스트림을 식별하는 방식으로 사용된다. 단계(805, 810 및 820)는 각각 단계(705, 710 및 725)와 유사하다. 비트스트림을 디코딩하는 동안, 디코더는 IS-RSP와 같이, IS-RSP 정보 메시지에서 식별된 포인트에 도달할 수도 있다. 디코더가 단계(815)에서 이러한 방식으로 IS-RSP을 위치시킬 때, 디코더는 현재 비트스트림의 문맥을 IS-RSP 메시지에 포함된 문맥 정보와 비교한다. 만일 문맥이 일치하지 않으면, 의미 및 구문 룰에 의해 설정된 값의 범위의 비교 체크(미도시)가 비트스트림의 현재 데이터 및 IS-RSP에 포함된 데이터 모두에 대해 실행된다. 의미 및 구문 룰에 의해 허용된 값들의 범위로, 현재 비트스트림의 데이터 및 IS-RSP에 포함된 데이터의 값들을 비교함으로써, 디코더는 현재 비트스트림 및/또는 IS-RSP 데이터가 틀렸는지를 결정할 수 있다. 만일 비트스트림이 단계(830)에서 손상된 것으로 판별되면, 디코더는 자신의 현재 디코딩을 중지하고 방금 배치된 IS-RSP에서 디코딩을 재시작하고 단계(805)로 계속하여 진행 한다. 비트스트림이 아닌 IS-RSP가 손상된 것으로 결정되면, 프로세스는 단계(805)에서 계속된다. 만일 비트스트림 및 IS-RSP이 손상된 것으로 결정되면(미도시), 다음 IS-RSP가 배치될 수 있으며, 프로세스는 단계(805)에서 계속될 수도 있다. 더욱이, 만일 현재 문맥과 IS-RSP에 포함된 문맥 사이의 문맥 비교가 일치하면, 어떠한 손상도 식별되지 않고 프로세스는 단계(805)에서 계속된다. 도1의 엔트로피 디코딩 소자(160) 및 에러 복구 소자(165)와 같은 비교 수단은 단계(825)에서 문맥 및/또는 의미 및 구문 비교 체크를 실행할 수 있다. 프로세스(800)의 하나 이상의 요소는 생략, 재배치 및/또는 결합될 수 있다.
전술한 예는 IS-RSP를 위해 16×16 픽셀 매크로블록을 사용하였다. 기술 분야의 당업자가 이해하듯이, 하나의 블록 크기는 또한 전술한 IS-RSP 방법에 대해 사용될 수 있다.
도9는 비디오 코딩에 대한 방법(900)의 일례를 나타낸다. 방법(900)은 재동기화 포인트 정보의 인코딩 단계(900); - 여기서 재동기화 포인트 정보는 비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보, 및 재동기화 포인트를 따르는 비트스트림을 디코딩하기 위한 정보를 포함함 - ; 및 인코딩된 재동기화 포인트 정보를 전송하는 단계(920)를 포함한다. 도10은 비디오 디코딩을 위한 장치(1000)의 예를 도시한다. 장치(1000)는 재동기화 포인트 정보를 인코딩하도록 구성된 인코딩 모듈(1010) - 여기서 재동기화 포인트 정보는 비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보, 및 재동기화 포인트를 따르는 비트스트림을 디코딩하기 위한 정보를 포함함 - ; 및 인코딩된 재동기화 포 인트 정보를 전송하도록 구성된 전송 모듈(1020)을 포함한다.
도11은 비디오 데이터를 디코딩하는 방법의 일례(1100)를 포함한다. 방법(1100)은 재동기화 포인트 정보를 포함하는 인코딩된 비트스트림을 수신하는 단계(1110) - 여기서 재동기화 포인트 정보는 재동기화 포인트의 위치를 식별하는 정보, 및 재동기화 포인트를 따르는 비트스트림을 디코딩하기 위한 정보를 포함함 - ; 및 수신된 비트스트림을 디코딩하는 단계(1200)를 포함한다. 도12는 비디오를 디코딩하는 장치(1200)의 예를 도시한다. 장치(1200)는 재동기화 포인트 정보를 포함하는 인코딩된 비트스트림을 수신하도록 구성된 수신기 모듈(1210) - 여기서 재동기화 포인트 정보는 재동기화 포인트의 위치를 식별하는 정보, 및 재동기화 포인트를 따르는 비트스트림을 디코딩하기 위한 정보를 포함함 - ; 및 수신된 비트스트림을 디코딩하도록 구성된 디코딩 모듈을 포함한다.
도13은 멀티미디어 데이터를 코딩하는 방법(1300)의 예를 도시한다. 방법(1300)은 재동기화 포인트 데이터를 인코딩하는 단계(1310); 및 재동기화 포인트 데이터를 멀티미디어 스트림의 슬라이스로 삽입하는 단계(1320)를 포함한다. 상기 방법은 슬라이스 내의 재동기화 포인트의 위치를 선택하는 하는 단계를 더 포함하며, 삽입 단계는 재동기화 포인트를 선택된 위치로 삽입하는 단계를 포함한다. 선택 단계는 다수의 후보 위치에 대한 레이트 왜곡치를 계산하는 단계; 및 비트율 왜곡치에 기초하여 적어도 하나의 후보 위치를 선택하는 단계를 포함한다. 도14는 멀티미디어 데이터의 코딩을 구현하기 위한 장치(1400)의 예를 도시한다. 장치(1400)는 재동기화 포인트 데이터를 인코딩하도록 구성된 인코딩 모듈(1410); 및 멀티미디어 스트림의 슬라이스로 재동기화 포인트를 삽입하도록 구성된 삽입 모듈(1420)을 포함한다.
도15는 멀티미디어 스트림을 프로세싱하는 방법(1500)의 예를 도시한다. 방법(1500)은 멀티미디어 스트림의 슬라이스에서 재동기화 포인트 데이터를 수신하는 단계(1510); 및 상기 재동기화 포인트 데이터에 기초하여 멀티미디어 데이터를 재구성하는 단계(1520)를 포함한다. 도16은 멀티미디어 스트림을 프로세싱하는 장치(1600)의 예를 도시한다. 장치(1600)는 멀티미디어 스트림에서 재동기화 포인트 데이터를 수신하도록 구성된 수신 모듈; 및 상기 재동기화 포인트 데이터에 기초하여 멀티미디어 데이터를 재구성하도록 구성된 재구성 모듈을 포함한다.
전술한 예는 예로써 비디오만을 사용하였다. 전술한 상기 방법 및 장치는 오디오, 그래픽, 이미지, 텍스트 및 이들의 조합을 포함하는 스트리밍 데이터의 다른 형태에 대해 사용될 수도 있다.
당업자는 정보 및 신호들이 임의의 다수의 상이한 기술들 및 테크닉들을 사용하여 표현될 수 있음을 인식할 것이다. 예를 들어, 상기 설명을 통해 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 전자기장들, 또는 전자기 입자들, 광학계들 또는 광학 입자들, 또는 그들의 임의의 조합에 의해 표시될 수 있다.
당업자는 또한 본 명세서에 개시된 실시예들과 관련하여 설명된 논리적인 블럭들, 모듈들, 회로들, 및 알고리즘 단계들이 전자하드웨어, 컴퓨터 소프트웨어, 또는 그들의 조합으로서 실행될 수 있음을 인식할 것이다. 상기 하드웨어 및 소프 트웨어의 상호교환가능성을 명백히 설명하기 위해, 다양한 요소들, 블럭들, 모듈들, 회로들, 및 단계들이 그들의 기능성에 관련하여 전술되었다. 상기 기능성이 하드웨어로 실행되는지 또는 소프트웨어로 실행되는지의 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약에 따라 결정한다. 당업자는 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능성을 실행할 수 있지만, 상기 실행 결정들은 본 발명의 영역으로부터 벗어나는 것으로 해석될 수 없다.
본 명세서에서 개시된 실시예와 관련하여 다양하게 설명되는 논리 블럭들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 처리기(DSP), 응용 집적 회로(ASIC), 현장 프로그램가능한 게이트 어레이(FPGA), 또는 다른 프로그램가능한 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 요소들, 또는 본 명세서에 개시된 기능을 수행하도록 설계된 그들의 임의의 조합을 사용하여 실행되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서가 될 수 있지만, 선택적으로 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 기계가 될 수 있다. 프로세서는 또한 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 또는 그이상의 마이크로프로세서, 또는 임의의 다른 구성과 같은 컴퓨팅 장치들의 조합으로서 실행될 수 있다.
본 명세서에 개시된 실시예와 관련하여 설명되는 방법 또는 알고리즘의 단계는 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 그들의 조합에서 즉시 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 제거가능한 디스크, CD-ROM 또는 임의의 다른 저장 매체 형태로 당업자에게 공지된다. 예시적인 저장 매체는 저장매체로부터 정보를 판독하고 정보를 기록할 수 있는 프로세서에 접속된다. 선택적으로, 저장 매체는 프로세서의 필수 구성요소이다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수 있다. ASIC은 사용자 터미널 내에 상주할 수 있다. 선택적으로, 프로세서 및 저장 매체는 사용자 디바이스내에서 이산요소들로서 상주할 수 있다.
개시된 실시예의 전술된 설명은 당업자가 본 발명을 구현하고 이용하기에 용이하도록 하기 위하여 제공되었다. 이들 실시예에 대한 여러 가지 변형은 당업자에게 자명하며, 여기서 한정된 포괄적인 원리는 본 발명의 사용 없이도 다른 실시예에 적용될 수 있다. 따라서, 본 발명은 설명된 실시예에 한정되는 것이 아니며, 여기에 개시된 원리 및 신규한 특징에 나타낸 가장 넓은 범위에 따른다.
Claims (106)
- 비디오 코딩 방법으로서,비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 인코딩하는 단계; 및상기 인코딩된 재동기화 포인트 정보를 전송하는 단계를 포함하는 방법.
- 제 1항에 있어서,다수의 후보 위치들에 대한 레이트 왜곡 비용을 계산하는 단계; 및상기 계산된 레이트 왜곡 비용에 기초하여 상기 재동기화 포인트의 위치가 되도록 상기 후보 위치들 중 적어도 하나를 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하는 단계를 더 포함하며, 상기 섹션은 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버인 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하는 단계를 더 포함하며, 상기 재동기화 포인트는 매크로블럭의 시작부인 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 연관된 정보를 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,데이터 메세지 내에서 상기 재동기화 포인트 정보를 인코딩하는 단계를 더 포함하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 방법.
- 제 1항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 재동기화 포인트 다음에 상기 비트스트림이 존재하는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 방법.
- 비디오 코딩 장치로서,비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 인코딩하기 위한 수단; 및상기 인코딩된 재동기화 포인트 정보를 전송하기 위한 수단을 포함하는 비디오 코딩 장치.
- 제 9항에 있어서,다수의 후보 위치들에 대한 레이트 왜곡 비용을 계산하기 위한 수단; 및상기 계산된 레이트 왜곡 비용에 기초하여 상기 재동기화 포인트의 위치가 되도록 상기 후보 위치들 중 적어도 하나를 선택하기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 코딩 장치.
- 제 9항에 있어서,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하기 위한 수단을 더 포함하며, 상기 섹션은 서브-매크로블럭, 매크로블럭, 슬라이 스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버인 것을 특징으로 하는 비디오 코딩 장치.
- 제 9항에 있어서,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하기 위한 수단을 더 포함하며, 상기 재동기화 포인트는 매크로블럭의 시작부인 것을 특징으로 하는 비디오 코딩 장치.
- 제 9항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 연관된 정보를 포함하는 것을 특징으로 하는 비디오 코딩 장치.
- 제 9항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 비디오 코딩 장치.
- 제 9항에 있어서,데이터 메세지 내에서 상기 재동기화 포인트 정보를 인코딩하기 위한 수단을 더 포함하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개 인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 비디오 코딩 장치.
- 제 9항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 재동기화 포인트 다음에 상기 비트스트림이 존재하는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 비디오 코딩 장치.
- 비디오 코딩을 위한 프로세서로서,비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 인코딩하는 기능; 및상기 인코딩된 재동기화 포인트 정보를 전송하는 기능을 제어하도록 구성되는 프로세서.
- 제 17항에 있어서,다수의 후보 위치들에 대한 레이트 왜곡 비용을 계산하는 기능; 및상기 계산된 레이트 왜곡 비용에 기초하여 상기 재동기화 포인트의 위치가 되도록 상기 후보 위치들 중 적어도 하나를 선택하는 기능를 제어하도록 더 구성된 것을 특징으로 하는 프로세서.
- 제 17항에 있어서,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하는 기능을 제어하도록 더 구성되며, 상기 섹션은 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버인 것을 특징으로 하는 프로세서.
- 제 17항에 있어서,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하는 기능을 제어하도록 더 구성되며, 상기 재동기화 포인트는 매크로블럭의 시작부인 것을 특징으로 하는 프로세서.
- 제 17항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 연관된 정보를 포함하는 것을 특징으로 하는 프로세서.
- 제 17항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 프로세서.
- 제 17항에 있어서,데이터 메세지 내에서 상기 재동기화 포인트 정보를 인코딩하는 기능을 제어하도록 더 구성되며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 프로세서.
- 제 17항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 재동기화 포인트 다음에 상기 비트스트림이 존재하는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 프로세서.
- 비디오 코딩 장치로서,비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 인코딩하기 위한 인코더; 및상기 인코딩된 재동기화 포인트 정보를 전송하도록 구성된 통신 장치를 포함하는 비디오 코딩 장치.
- 제 25항에 있어서,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하기 위한 선택기를 더 포함하며, 상기 섹션은 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버인 것을 특징으로 하는 비디오 코딩 장치.
- 제 25항에 있어서,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하기 위한 선택기를 더 포함하며, 상기 재동기화 포인트는 매크로블럭의 시작부인 것을 특징으로 하는 비디오 코딩 장치.
- 제 25항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 연관된 정보를 포함하는 것을 특징으로 하는 비디오 코딩 장치.
- 제 25항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 비디오 코딩 장치.
- 제 25항에 있어서,상기 인코더는 데이터 메세지 내에서 상기 재동기화 포인트 정보를 인코딩하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 비디오 코딩 장치.
- 제 25항에 있어서,상기 인코더는 가변 길이 코딩을 사용하여 재동기화 포인트 정보를 인코딩하는 것을 특징으로 하는 비디오 코딩 장치.
- 제 25항에 있어서,선택기; 및다수의 후보 위치들에 대한 레이트 왜곡 비용을 계산하기 위한 계산기를 더 포함하며,상기 선택기는 상기 계산된 레이트 왜곡 비용에 기초하여 상기 재동기화 포인트의 위치가 되도록 상기 후보 위치들 중 적어도 하나를 선택하는 것을 특징으로 하는 비디오 코딩 장치.
- 비디오 코딩 방법을 실행하는 컴퓨터로 읽을 수 있는 매체로서, 상기 방법은,비디오 비트스트림의 섹션 내의 재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 인코딩하는 단계; 및상기 인코딩된 재동기화 포인트 정보를 전송하는 단계를 포함하는 컴퓨터로 읽을 수 있는 매체.
- 제 33항에 있어서, 상기 방법은,다수의 후보 위치들에 대한 레이트 왜곡 비용을 계산하는 단계; 및상기 계산된 레이트 왜곡 비용에 기초하여 상기 재동기화 포인트의 위치가 되도록 상기 후보 위치들 중 적어도 하나를 선택하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 1항에 있어서, 상기 방법은,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하는 단계를 더 포함하며, 상기 섹션은 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버인 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 33항에 있어서, 상기 방법은,상기 비디오 비트스트림의 섹션 내에서 상기 재동기화 포인트의 위치를 선택하는 단계를 더 포함하며, 상기 재동기화 포인트는 매크로블럭의 시작부인 것을 특 징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 33항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 연관된 정보를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 33항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 33항에 있어서, 상기 방법은,데이터 메세지 내에서 상기 재동기화 포인트 정보를 인코딩하는 단계를 더 포함하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 33항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 재동기화 포인트 다음에 상기 비트스트림이 존재하는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 컴 퓨터로 읽을 수 있는 매체.
- 비디오 데이터를 디코딩하기 위한 방법으로서,재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 가지는 인코딩된 비트스트림을 수신하는 단계; 및상기 수신된 비트스트림을 디코딩하는 단계를 포함하는 방법.
- 제 41항에 있어서,상기 재동기화 포인트 정보에 기초하여 상기 비트스트림 내에 상기 재동기화 포인트를 위치시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 41항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 비트 스트림 다음에 상기 재동기화 포인트가 인코딩되는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 방법.
- 제 43항에 있어서,상기 재동기화 포인트 정보 내에 포함된 상기 수신된 문맥 정보와 상기 디코딩된 비트스트림의 현재 문맥을 비교하는 단계; 및상기 비교가 상기 현재 문맥과 상기 수신된 문맥 정보가 동일하지 않음을 보여주는 경우에 상기 비트스트림을 디코딩하는 것을 중단하고 상기 비트스트림을 디코딩하는 것을 다시 시작하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 41항에 있어서,상기 재동기화 포인트의 위치는 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버로부터 선택된 비디오의 섹션 내에 있는 것을 특징으로 하는 방법.
- 제 41항에 있어서,상기 재동기화 포인트의 위치는 매크로블럭의 시작부인 것을 특징으로 하는 방법.
- 제 41항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 관련된 정보를 포함하는 것을 특징으로 하는 방법.
- 제 41항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징 으로 하는 방법.
- 제 41항에 있어서, 상기 방법은,데이터 메세지 내에서 상기 재동기화 포인트 정보를 수신하는 단계를 더 포함하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 방법.
- 제 41항에 있어서, 상기 방법은,가변 길이 코드를 사용하여 인코딩된 상기 재동기화 포인트 정보를 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 41항에 있어서, 상기 방법은,비트스트림 내에서 에러를 검출하는 단계;상기 비트스트림의 디코딩을 중단하는 단계; 및상기 위치된 재동기화 포인트를 계속해서 디코딩하는 단계를 포함하는 것을 특징으로 하는 방법.
- 비디오 디코딩 장치로서,재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 가지는 인코딩된 비트스트림을 수신하기 위한 수단; 및상기 수신된 비트스트림을 디코딩하기 위한 수단을 포함하는 비디오 디코딩 장치.
- 제 52항에 있어서,상기 재동기화 포인트 정보에 기초하여 상기 비트스트림 내에 상기 재동기화 포인트를 위치시키기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 52항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 비트 스트림 다음에 상기 재동기화 포인트가 인코딩되는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 54항에 있어서,상기 재동기화 포인트 정보 내에 포함된 상기 수신된 문맥 정보와 상기 디코딩된 비트스트림의 현재 문맥을 비교하기 위한 수단; 및상기 비교가 상기 현재 문맥과 상기 수신된 문맥 정보가 동일하지 않음을 보여주는 경우에 상기 비트스트림을 디코딩하는 것을 중단하고 상기 비트스트림을 디 코딩하는 것을 다시 시작하기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 52항에 있어서,상기 재동기화 포인트의 위치는 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버로부터 선택된 비디오의 섹션 내에 있는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 52항에 있어서,상기 재동기화 포인트의 위치는 매크로블럭의 시작부인 것을 특징으로 하는 비디오 디코딩 장치.
- 제 52항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 관련된 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 52항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 41항에 있어서,데이터 메세지 내에서 상기 재동기화 포인트 정보를 수신하기 위한 수단을 더 포함하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 비디오 디코딩 장치.
- 제 52항에 있어서,가변 길이 코드를 사용하여 인코딩된 상기 재동기화 포인트 정보를 수신하기 위한 수단을 더 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 52항에 있어서,비트스트림 내에서 에러를 검출하기 위한 수단;상기 비트스트림의 디코딩을 중단하기 위한 수단; 및상기 위치된 재동기화 포인트를 계속해서 디코딩하기 위한 수단을 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 비디오를 디코딩하기 위한 프로세서로서,재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 가지 는 인코딩된 비트스트림을 수신하는 기능; 및상기 수신된 비트스트림을 디코딩하는 기능을 제어하도록 구성되는 프로세서.
- 제 63항에 있어서,상기 프로세서는 상기 재동기화 포인트 정보에 기초하여 상기 비트스트림 내에 상기 재동기화 포인트를 위치시키는 기능을 제어하도록 더 구성되는 것을 특징으로 하는 프로세서.
- 제 63항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 비트 스트림 다음에 상기 재동기화 포인트가 인코딩되는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 프로세서.
- 제 64항에 있어서,상기 재동기화 포인트 정보 내에 포함된 상기 수신된 문맥 정보와 상기 디코딩된 비트스트림의 현재 문맥을 비교하는 기능; 및상기 비교가 상기 현재 문맥과 상기 수신된 문맥 정보가 동일하지 않음을 보여주는 경우에 상기 비트스트림을 디코딩하는 것을 중단하고 상기 비트스트림을 디코딩하는 것을 다시 시작하는 기능을을 제어하도록 더 구성되는 것을 특징으로 하 는 프로세서.
- 제 63항에 있어서,상기 재동기화 포인트의 위치는 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버로부터 선택된 비디오의 섹션 내에 있는 것을 특징으로 하는 프로세서.
- 제 63항에 있어서,상기 재동기화 포인트의 위치는 매크로블럭의 시작부인 것을 특징으로 하는 프로세서.
- 제 63항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 관련된 정보를 포함하는 것을 특징으로 하는 프로세서.
- 제 63항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 프로세서.
- 제 63항에 있어서, 상기 프로세서는,데이터 메세지 내에서 상기 재동기화 포인트 정보를 수신하는 기능을 제어하도록 더 구성되며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 프로세서.
- 제 63항에 있어서, 상기 프로세서는,가변 길이 코드를 사용하여 인코딩된 상기 재동기화 포인트 정보를 수신하는 기능을 제어하도록 더 구성되는 것을 특징으로 하는 프로세서.
- 제 63항에 있어서, 상기 프로세서는,비트스트림 내에서 에러를 검출하는 기능;상기 비트스트림의 디코딩을 중단하는 기능; 및상기 위치된 재동기화 포인트를 계속해서 디코딩하는 기능을 제어하도록 더 구성되는 것을 특징으로 하는 프로세서.
- 비디오를 디코딩하기 위한 장치로서,재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 가지는 인코딩된 비트스트림을 수신하기 위한 수신기; 및상기 수신된 비트스트림을 디코딩하기 위한 디코더를 포함하는 비디오 디코딩 장치.
- 제 74항에 있어서,상기 디코더는 상기 재동기화 포인트 정보에 기초하여 상기 비트스트림 내에 상기 재동기화 포인트를 위치시키도록 더 구성되는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 74항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 비트 스트림 다음에 상기 재동기화 포인트가 인코딩되는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 76항에 있어서, 상기 디코더는,상기 재동기화 포인트 정보 내에 포함된 상기 수신된 문맥 정보와 상기 디코딩된 비트스트림의 현재 문맥을 비교하고; 및상기 비교가 상기 현재 문맥과 상기 수신된 문맥 정보가 동일하지 않음을 보여주는 경우에 상기 비트스트림을 디코딩하는 것을 중단하고 상기 비트스트림을 디코딩하는 것을 다시 시작하도록 더 구성되는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 74항에 있어서,상기 재동기화 포인트의 위치는 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버로부터 선택된 비디오의 섹션 내에 있는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 74항에 있어서,상기 재동기화 포인트의 위치는 매크로블럭의 시작부인 것을 특징으로 하는 비디오 디코딩 장치.
- 제 74항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 관련된 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 74항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
- 제 74항에 있어서,상기 수신기는 데이터 메세지 내에서 상기 재동기화 포인트 정보를 수신하도록 더 구성되며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 비디오 디코딩 장치.
- 제 74항에 있어서, 상기 디코더는,비트스트림 내에서 에러를 검출하고;상기 비트스트림의 디코딩을 중단하고; 및상기 위치된 재동기화 포인트를 계속해서 디코딩하도록 더 구성되는 것을 특징으로 하는 비디오 디코딩 장치.
- 비디오를 디코딩하기 위한 방법을 실행하는 컴퓨터로 읽을 수 있는 매체로서,재동기화 포인트의 위치를 식별하는 정보 및 상기 재동기화 포인트 다음에 상기 비트스트림을 디코딩하기 위한 정보를 포함하는 재동기화 포인트 정보를 가지는 인코딩된 비트스트림을 수신하는 단계; 및상기 수신된 비트스트림을 디코딩하는 단계를 포함하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서, 상기 방법은,상기 재동기화 포인트 정보에 기초하여 상기 비트스트림 내에 상기 재동기화 포인트를 위치시키는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 상기 비트 스트림 다음에 상기 재동기화 포인트가 인코딩되는 문맥과 관련된 정보를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 86항에 있어서, 상기 방법은,상기 재동기화 포인트 정보 내에 포함된 상기 수신된 문맥 정보와 상기 디코딩된 비트스트림의 현재 문맥을 비교하는 단계; 및상기 비교가 상기 현재 문맥과 상기 수신된 문맥 정보가 동일하지 않음을 보여주는 경우에 상기 비트스트림을 디코딩하는 것을 중단하고 상기 비트스트림을 디코딩하는 것을 다시 시작하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서,상기 재동기화 포인트의 위치는 서브-매크로블럭, 매크로블럭, 슬라이스, 프레임 및 프레임들의 시퀀스로 구성된 그룹의 멤버로부터 선택된 비디오의 섹션 내 에 있는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서,상기 재동기화 포인트의 위치는 매크로블럭의 시작부인 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 인접하는 비디오 섹션과 관련된 정보를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서,상기 비트스트림을 디코딩하기 위한 정보는 양자화 파라미터, 공간 예측 모듈 식별자 및 비-제로 계수들의 개수로 구성된 그룹의 멤버를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서, 상기 방법은,데이터 메세지 내에서 상기 재동기화 포인트 정보를 수신하는 단계를 더 포함하며, 상기 데이터 메세지는 대역 내 애플리케이션 메세지, 사용자 전용 개인 데이터 메세지, 보충 개선 정보 메세지, 및 MPEG 사용자_데이터 메세지 중 하나인 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서, 상기 방법은,가변 길이 코드를 사용하여 인코딩된 상기 재동기화 포인트 정보를 수신하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 제 84항에 있어서, 상기 방법은,비트스트림 내에서 에러를 검출하는 단계;상기 비트스트림의 디코딩을 중단하는 단계; 및상기 위치된 재동기화 포인트를 계속해서 디코딩하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 매체.
- 멀티미디어 데이터를 코딩하기 위한 방법으로서,재동기화 포인트 데이터를 인코딩하는 단계; 및상기 재동기화 포인트 데이터를 멀티미디어 스트림의 슬라이스에 입력하는 단계를 포함하는 방법.
- 제 95항에 있어서,상기 슬라이스 내에서 재동기화 포인트의 위치를 선택하는 단계를 더 포함하며, 상기 입력 단계는 상기 선택된 위치에 상기 재동기화 포인트를 입력하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 96항에 있어서, 상기 선택 단계는,다수의 후보 위치들에 대하여 레이트 왜곡 비용을 계산하는 단계; 및상기 레이트 왜곡 비용에 기초하여 적어도 하나의 후보 위치를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 95항에 있어서,상기 재동기화 포인트는 상기 멀티미디어 데이터의 문맥 정보를 포함하는 것을 특징으로 하는 방법.
- 멀티미디어 데이터를 코딩하기 위한 장치로서,재동기화 포인트 데이터를 인코딩하기 위한 수단; 및상기 재동기화 포인트 데이터를 멀티미디어 스트림의 슬라이스에 입력하기 이한 수단을 포함하는 장치.
- 제 99항에 있어서,상기 슬라이스 내에서 재동기화 포인트의 위치를 선택하기 위한 수단을 더 포함하며, 상기 입력 수단은 상기 선택된 위치에 상기 재동기화 포인트를 입력하기 위한 수단을 포함하는 것을 특징으로 하는 장치.
- 제 100항에 있어서, 상기 선택 수단은,다수의 후보 위치들에 대하여 레이트 왜곡 비용을 계산하기 위한 수단; 및상기 레이트 왜곡 비용에 기초하여 적어도 하나의 후보 위치를 선택하기 위한 수단을 포함하는 것을 특징으로 하는 장치.
- 제 99항에 있어서,상기 재동기화 포인트는 상기 멀티미디어 데이터의 문맥 정보를 포함하는 것을 특징으로 하는 장치.
- 멀티미디어 스트림을 처리하기 위한 방법으로서,멀티미디어 스트림의 슬라이스 내의 재동기화 포인트 데이터를 수신하는 단계; 및상기 재동기화 포인트 데이터에 기초하여 멀티미디어 데이터를 재구성하는 단계를 포함하는 방법.
- 제 103항에 있어서,상기 재동기화 포인트는 상기 멀티미디어 데이터의 문맥 정보를 포함하는 것을 특징으로 하는 방법.
- 멀티미디어 스트림을 처리하기 위한 장치로서,멀티미디어 스트림의 슬라이스 내의 재동기화 포인트 데이터를 수신하기 위한 수단; 및상기 재동기화 포인트 데이터에 기초하여 멀티미디어 데이터를 재구성하기 위한 수단을 포함하는 장치.
- 제 105항에 있어서,상기 재동기화 포인트는 상기 멀티미디어 데이터의 문맥 정보를 포함하는 것을 특징으로 하는 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66087905P | 2005-03-10 | 2005-03-10 | |
US60/660,879 | 2005-03-10 | ||
US71320705P | 2005-09-01 | 2005-09-01 | |
US60/713,207 | 2005-09-01 | ||
PCT/US2006/008764 WO2006099224A1 (en) | 2005-03-10 | 2006-03-10 | Method and apparatus for error recovery using intra-slice resynchronization points |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070110550A true KR20070110550A (ko) | 2007-11-19 |
KR100928127B1 KR100928127B1 (ko) | 2009-11-25 |
Family
ID=36658621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077023230A KR100928127B1 (ko) | 2005-03-10 | 2006-03-10 | 인트라-슬라이스 재동기화 포인트들을 사용하는 에러복원을 위한 방법 및 장치 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7929776B2 (ko) |
EP (1) | EP1856915B1 (ko) |
JP (1) | JP2008537373A (ko) |
KR (1) | KR100928127B1 (ko) |
CN (1) | CN101185336A (ko) |
AT (1) | ATE468705T1 (ko) |
DE (1) | DE602006014369D1 (ko) |
WO (1) | WO2006099224A1 (ko) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8780957B2 (en) | 2005-01-14 | 2014-07-15 | Qualcomm Incorporated | Optimal weights for MMSE space-time equalizer of multicode CDMA system |
US7925955B2 (en) * | 2005-03-10 | 2011-04-12 | Qualcomm Incorporated | Transmit driver in communication system |
EP2268042B1 (en) * | 2005-03-10 | 2014-07-02 | Qualcomm Incorporated | A decoder architecture for optimized error management in streaming multimedia |
US8693540B2 (en) * | 2005-03-10 | 2014-04-08 | Qualcomm Incorporated | Method and apparatus of temporal error concealment for P-frame |
JP5318561B2 (ja) | 2005-03-10 | 2013-10-16 | クゥアルコム・インコーポレイテッド | マルチメディア処理のためのコンテンツ分類 |
KR101273479B1 (ko) * | 2005-07-06 | 2013-06-14 | 톰슨 라이센싱 | 화상 시퀀스 및 로고를 포함하는 비디오 콘텐츠를 코딩하는 방법 및 디바이스 |
US7714748B1 (en) * | 2005-07-22 | 2010-05-11 | Marvell International Ltd. | Systems and methods for constructing high-rate constrained codes |
US8879856B2 (en) | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Content driven transcoder that orchestrates multimedia transcoding using content information |
US11221917B1 (en) | 2005-09-30 | 2022-01-11 | Pure Storage, Inc. | Integrity processing in a dispersed storage network |
US8555109B2 (en) | 2009-07-30 | 2013-10-08 | Cleversafe, Inc. | Method and apparatus for distributed storage integrity processing |
US11620185B2 (en) | 2005-09-30 | 2023-04-04 | Pure Storage, Inc. | Integrity processing in a dispersed storage network |
US10860424B1 (en) | 2005-09-30 | 2020-12-08 | Pure Storage, Inc. | Background verification processing in a storage network |
US8654848B2 (en) | 2005-10-17 | 2014-02-18 | Qualcomm Incorporated | Method and apparatus for shot detection in video streaming |
US8948260B2 (en) | 2005-10-17 | 2015-02-03 | Qualcomm Incorporated | Adaptive GOP structure in video streaming |
US8005140B2 (en) * | 2006-03-17 | 2011-08-23 | Research In Motion Limited | Soft decision and iterative video coding for MPEG and H.264 |
US9131164B2 (en) | 2006-04-04 | 2015-09-08 | Qualcomm Incorporated | Preprocessor method and apparatus |
US8634462B2 (en) * | 2007-03-13 | 2014-01-21 | Matthias Narroschke | Quantization for hybrid video coding |
US20080225947A1 (en) | 2007-03-13 | 2008-09-18 | Matthias Narroschke | Quantization for hybrid video coding |
KR101366244B1 (ko) * | 2007-04-24 | 2014-02-21 | 삼성전자주식회사 | 레지듀얼 데이터를 이용한 영상의 에러 은닉 방법 및 장치 |
US8121189B2 (en) * | 2007-09-20 | 2012-02-21 | Microsoft Corporation | Video decoding using created reference pictures |
US8542730B2 (en) * | 2008-02-22 | 2013-09-24 | Qualcomm, Incorporated | Fast macroblock delta QP decision |
US9848209B2 (en) * | 2008-04-02 | 2017-12-19 | Microsoft Technology Licensing, Llc | Adaptive error detection for MPEG-2 error concealment |
US8358700B2 (en) * | 2008-06-03 | 2013-01-22 | Omnivision Technologies, Inc. | Video coding apparatus and method for supporting arbitrary-sized regions-of-interest |
US9924184B2 (en) * | 2008-06-30 | 2018-03-20 | Microsoft Technology Licensing, Llc | Error detection, protection and recovery for video decoding |
US9788018B2 (en) * | 2008-06-30 | 2017-10-10 | Microsoft Technology Licensing, Llc | Error concealment techniques in video decoding |
US9131241B2 (en) * | 2008-11-25 | 2015-09-08 | Microsoft Technology Licensing, Llc | Adjusting hardware acceleration for video playback based on error detection |
KR20120013966A (ko) * | 2009-05-01 | 2012-02-15 | 톰슨 라이센싱 | 3dv를 위한 기준 화상 리스트 |
US8340510B2 (en) | 2009-07-17 | 2012-12-25 | Microsoft Corporation | Implementing channel start and file seek for decoder |
WO2012008037A1 (ja) * | 2010-07-15 | 2012-01-19 | 富士通株式会社 | 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法 |
EP2617194A1 (en) | 2010-09-14 | 2013-07-24 | Thomson Licensing | Compression methods and apparatus for occlusion data |
AU2012205077B2 (en) * | 2011-01-06 | 2016-04-07 | Samsung Electronics Co., Ltd. | Encoding method and device of video using data unit of hierarchical structure, and decoding method and device thereof |
FR2972588A1 (fr) | 2011-03-07 | 2012-09-14 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
FR2977111A1 (fr) * | 2011-06-24 | 2012-12-28 | France Telecom | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
US8767824B2 (en) * | 2011-07-11 | 2014-07-01 | Sharp Kabushiki Kaisha | Video decoder parallelization for tiles |
US9654772B2 (en) | 2012-01-19 | 2017-05-16 | Qualcomm Incorporated | Context adaptive entropy coding with a reduced initialization value set |
TWI650995B (zh) * | 2012-01-30 | 2019-02-11 | 南韓商三星電子股份有限公司 | 視訊解碼裝置、視訊編碼方法及非暫態電腦可讀記錄媒體 |
US20130223524A1 (en) * | 2012-02-29 | 2013-08-29 | Microsoft Corporation | Dynamic insertion of synchronization predicted video frames |
GB2499831B (en) * | 2012-03-02 | 2015-08-05 | Canon Kk | Method and device for decoding a bitstream |
US9344720B2 (en) * | 2012-08-07 | 2016-05-17 | Apple Inc. | Entropy coding techniques and protocol to support parallel processing with low latency |
US9386326B2 (en) * | 2012-10-05 | 2016-07-05 | Nvidia Corporation | Video decoding error concealment techniques |
JP6023596B2 (ja) * | 2013-01-24 | 2016-11-09 | 株式会社日立情報通信エンジニアリング | 画像符号化装置 |
US10904551B2 (en) * | 2013-04-05 | 2021-01-26 | Texas Instruments Incorporated | Video coding using intra block copy |
JP6530854B2 (ja) * | 2015-07-16 | 2019-06-12 | ドルビー ラボラトリーズ ライセンシング コーポレイション | Hdrおよび広色域の信号のための信号整形および符号化 |
US10986354B2 (en) * | 2018-04-16 | 2021-04-20 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09182067A (ja) * | 1995-10-27 | 1997-07-11 | Toshiba Corp | 画像符号化/復号化装置 |
EP0861001B1 (en) | 1997-02-07 | 2012-05-23 | Texas Instruments Incorporated | Error resilient video encoding |
KR100363162B1 (ko) | 1998-11-02 | 2003-01-24 | 삼성전자 주식회사 | 영상신호의전송/복원방법및장치 |
JP3907860B2 (ja) * | 1999-02-16 | 2007-04-18 | 三菱電機株式会社 | 動画像復号装置及び動画像復号方法 |
US6339658B1 (en) * | 1999-03-09 | 2002-01-15 | Rockwell Science Center, Llc | Error resilient still image packetization method and packet structure |
US8275047B2 (en) * | 2001-09-20 | 2012-09-25 | Xilinx, Inc. | Method and device for block-based conditional motion compensation |
GB2381980A (en) | 2001-11-07 | 2003-05-14 | Motorola Inc | Error concealment in scalable video transmissions |
GB2386275B (en) | 2002-03-05 | 2004-03-17 | Motorola Inc | Scalable video transmissions |
JP2006060813A (ja) * | 2004-08-20 | 2006-03-02 | Polycom Inc | ビデオデコーダにおける誤り隠蔽 |
US8601130B2 (en) | 2006-06-07 | 2013-12-03 | Qualcomm Incorporated | Propagating session state changes to network functions in an active set |
-
2006
- 2006-03-09 US US11/373,608 patent/US7929776B2/en not_active Expired - Fee Related
- 2006-03-10 CN CNA2006800144726A patent/CN101185336A/zh active Pending
- 2006-03-10 KR KR1020077023230A patent/KR100928127B1/ko not_active IP Right Cessation
- 2006-03-10 EP EP06737895A patent/EP1856915B1/en not_active Not-in-force
- 2006-03-10 JP JP2008501000A patent/JP2008537373A/ja active Pending
- 2006-03-10 AT AT06737895T patent/ATE468705T1/de not_active IP Right Cessation
- 2006-03-10 DE DE602006014369T patent/DE602006014369D1/de active Active
- 2006-03-10 WO PCT/US2006/008764 patent/WO2006099224A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN101185336A (zh) | 2008-05-21 |
WO2006099224A1 (en) | 2006-09-21 |
US7929776B2 (en) | 2011-04-19 |
EP1856915B1 (en) | 2010-05-19 |
DE602006014369D1 (de) | 2010-07-01 |
US20060233239A1 (en) | 2006-10-19 |
ATE468705T1 (de) | 2010-06-15 |
EP1856915A1 (en) | 2007-11-21 |
KR100928127B1 (ko) | 2009-11-25 |
JP2008537373A (ja) | 2008-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100928127B1 (ko) | 인트라-슬라이스 재동기화 포인트들을 사용하는 에러복원을 위한 방법 및 장치 | |
JP7222086B2 (ja) | スキップ及びマージモードのためのマルチ仮説のシグナリング及び動きベクトル差分によるマージの距離オフセットテーブルのシグナリングのための方法及び装置 | |
JP5925416B2 (ja) | ビデオブロックヘッダ情報の適応可能なコーディング | |
US9538172B2 (en) | Grouping bypass coded syntax elements in video coding | |
US20170289543A1 (en) | Most probable transform for intra prediction coding | |
US11470329B2 (en) | Method and apparatus for video coding | |
US8611687B2 (en) | Method and apparatus for encoding and decoding image using flexible orthogonal transform | |
US11317099B2 (en) | Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction | |
US20150195568A1 (en) | Method of Coding and Decoding Images, Coding and Decoding Device and Computer Programs Corresponding Thereto | |
US20070110326A1 (en) | Skip macroblock coding | |
KR20140049098A (ko) | 비디오 코딩에서 비정방형 변환 유닛들 및 예측 유닛들 | |
US10798397B2 (en) | Method and apparatus for video coding | |
WO2014005092A1 (en) | Sign hiding techniques for quantized transform coefficients in video coding | |
US20090268809A1 (en) | Method, apparatus and system for robust video transmission | |
JP7125563B2 (ja) | 映像復号のための方法、装置、及びコンピュータプログラム | |
CA2474931A1 (en) | Video processing | |
Milani et al. | Multiple description distributed video coding using redundant slices and lossy syndromes | |
US20240015331A1 (en) | Systems and methods including syntax design for multi-symbol arithmetic coding | |
KR20050089454A (ko) | 동영상 복호화 시 에러 은닉 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |