KR100920195B1 - 정보 전송 장치 및 정보 전송 방법 - Google Patents
정보 전송 장치 및 정보 전송 방법 Download PDFInfo
- Publication number
- KR100920195B1 KR100920195B1 KR1020080101418A KR20080101418A KR100920195B1 KR 100920195 B1 KR100920195 B1 KR 100920195B1 KR 1020080101418 A KR1020080101418 A KR 1020080101418A KR 20080101418 A KR20080101418 A KR 20080101418A KR 100920195 B1 KR100920195 B1 KR 100920195B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- frame
- unit
- stored
- threshold value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- 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/115—Selection of the code volume for a coding unit prior to 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/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/127—Prioritisation of hardware or computational resources
-
- 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/142—Detection of scene cut or scene change
-
- 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
-
- 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/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- 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/164—Feedback from the receiver or from the transmission channel
-
- 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/172—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 picture, frame or field
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Communication Control (AREA)
- Telephonic Communication Services (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
본 발명은, 데이터의 단위시간 당의 발생량이 변화하는 데이터를 송신하는 정보 전송 장치 및 정보 전송 방법에 관한 것으로, 특히, 데이터를 효율적으로 송신 가능한 정보 전송 장치 및 정보 전송 방법에 관한 것이다.
데이터의 부호화 효율은, 부호화된 데이터의 특성과 이용된 부호화 방식의 특성에 따라 많이 변화한다. 장치의 능력을 넘는 양의 부호화 데이터를 장치에 송신하는 것은 바람직하지 않다. 그 때문에, 예를 들면, 부호화 처리의 품질을 제어해, 부호화된 데이터량의 변동을 줄여서 안정된 데이터 송신을 실현하는 방법이 제안되었다.
예를 들면, 일본국 특허 제2675130호에 있어서는, 화상 데이터 전송 장치에 대해서 개시한다. 화상의 각 프레임을 부호화할 때, 임계값을 초과한 데이터량을 갖는 부호화 데이터의 분량인 초과 데이터분을, 부호량이 임계값에 도달하지 않은, 시간적으로 선행하는 프레임의 부호화된 데이터와 다중화하고, 이 취득한 다중화된 부호화 데이터를 송신한다. 부호량이 임계값을 넘지 않는 나머지의 부호화 데이터 를, 통상 송신한다. 이와 같이, 부호화 데이터량이 많은 프레임의 화질 열화를 억제할 수 있고, 전송되는 데이터량은 임계값 범위에 들어간다.
도 4는, 종래의 화상 데이터 전송 장치의 구성 예를 나타내는 블럭도이다.
입력 단자(4101)에서 수신된 아날로그 원화상 데이터(동화상)를 아날로그/디지털(A/D) 변환기(4102)를 이용해 디지털 동화상 데이터로 변환하고, 프레임 메모리(4103)에 이 디지털 동화상 데이터를 축적한다. 프레임 메모리(4103)에 축적된 디지털 동화상 데이터는, 필요에 따라 판독되어 부호화기(4104)에 입력된다.
부호화기(4104)는, 수신한 디지털 동화상 데이터를 소정의 방법을 이용해 부호화한다. 또한, 부호화기(4104)는 부호화 프레임마다 프레임 번호를 생성하고, 그 생성된 프레임 번호를 스위치(SW;4108)와 주 프레임 번호 생성기(4112)에 출력한다.
부호화 데이터는, 프레임마다, 스위치(4108)를 통해서, 메모리 4109~4111(메모리 번호 1~N)의 하나에 기억된다. 스위치(4108)는, 부호화기(4104)에 의해 부호화된 프레임의 프레임 번호를 "X"로 하고, X/N의 나머지를 "n"으로 하면, 프레임 번호 X에 대응하는 부호화 데이터가 메모리 번호가 n+1인 메모리에 기억되도록 제어된다.
즉, 현재 메모리에 기억되려고 하는 최신의 부호화 프레임의 프레임 번호가, 33(즉, X=33)이고, 메모리의 총수가 5(즉, N=5)이면, 값 "4"는 식 n+1=4로부터 취득된다. 따라서, 스위치(4108)는, 프레임 번호 33에 대응하는 부호화 데이터가, 메모리(4)에 기억되도록 제어된다.
상술한 규칙에 따라 어떤 부호화 데이터를 기억하는 메모리를 선택하는 경우, 프레임 번호가 33인 부호화 데이터가 메모리(4)에 기억된 시점에서, 메모리 3에는 프레임 번호가 32인 부호화 데이터가 기억되어 있고, 메모리 2에는 프레임 번호가 31인 부호화 프레임이 기억되어 있으며, 메모리 1에는 프레임 번호가 30인 부호화 데이터가 기억되어 있고, 메모리 5에는 프레임 번호가 29인 부호화 프레임이 기억되어 있다.
이상 설명한 것처럼, 부호화 프레임마다 부호화기(4104)에 의해 생성되는 프레임 번호 X와 메모리의 총수 N에 따라, n+1로부터 얻은 값이 취득된다. n+1로부터 취득한 값에 따라, 스위치(4108)가 제어된다. 이것에 의해, 부호화 프레임이, 메모리 1~N에 순차 기억된다.
메모리 1~N 중 하나로부터 판독되고, 다중화기(4116)에 출력되는 부호화 프레임의 프레임 번호는, 주 프레임 번호 생성기(4112)로부터 출력되는 주 프레임 번호 Xnext로 표시된다.
주 프레임 번호 Xnext에 대응하는 부호화 프레임은, m+1번째의 메모리에 저장되어 있는 부호화 프레임에 해당한다.
여기서, "m"은, 주 프레임 번호 Xnext를 N(메모리의 수)으로 나눈 잉여이다. 또, 주 프레임 번호 Xnext는, 현재의 프레임 번호 X와 N-1로부터 얻은 값과의 차로 표현된다. 이와 같이, 프레임 번호 X가 33이고, 메모리의 번호 N이 5인 경우, 주 프레임 번호 Xnext는 29가 된다.
즉, 주 프레임은, 메모리 1~N 중 하나에서, 최초로 기억된(혹은 최고(最古) 의) 부호화 프레임과 같다.
씬 체인지(scene change) 프레임 번호 생성회로(4115)는, 부호화기(4104)에 의해 부호화되어 메모리 1~N(여기에서는, N=5로 한다) 중 하나에 기억되는 현재의 부호화 프레임의 부호량과 임계값을 비교하고, 임계값을 초과하는 부호량을 갖는 프레임을 검출한다.
임계값을 초과하는 부호량을 갖는 프레임을 검출했을 경우, 씬 체인지 프레임 번호 생성회로(4115)는, 그 검출한 프레임이 씬 체인지 프레임이라고 판정한다. 그 검출한 프레임의 프레임 번호 Xc를 씬 체인지 프레임 번호 생성회로(4116)에 N프레임(이 경우에는, N=5)에 대응하는 기간 동안 보유한다. 또한, 씬 체인지 프레임 번호 Xc를, 셀렉터 스위치(4114)와 다중화기(4116)에 출력한다.
셀렉터 스위치(4114)는, 메모리 번호가 씬 체인지 프레임 번호 Xc로부터 결정된 k+1인 메모리의 내용을 씬 체인지 프레임에 대응하는 부호화 프레임으로서 해석한다. 그리고, 섹렉터 스위치(4114)는 메모리 1~N 중에서 메모리 번호가 k+1인 메모리의 내용의 소망하는 부분을 판독한다.
여기서, "k"는 씬 체인지 프레임 번호 Xc를 메모리의 총수 N으로 나눈 잉여이다.
도 5a에 나타낸 바와 같이, 씬 체인지 프레임 번호가 Xc가 33이면, 프레임 번호 33에 대응하는 부호화 프레임이, 씬 체인지 프레임의 부호화 데이터라고 판정된다. 따라서, 부호화 데이터가 기억되어 있는 메모리 4(즉, k+1=4)의 내용의 일부분이, 주 프레임 번호 Xnext에 해당하는 부호화 프레임의 데이터(즉, 메모리 5의 내용)와 병행해, 판독된다.
판독한 메모리 4의 내용과 판독한 메모리 5의 내용은, 다중화기(4116)에 의해 서로 다중화되어, 버퍼 메모리(4105)에 저장된다. 저장된 내용은 순차적으로 판독되어 기록장치(4106)에 입력된다.
기록장치(4106)에 입력된 다중화 데이터는, 기록 장치(4106)의 제어 하에, 기록 미디어(4107)에 기록된다.
씬 체인지 프레임(씬 체인지 프레임 번호 Xc=33)이라고 판정된 프레임의 부호화 데이터의 분할과, 분할된 부호화 데이터와 주 프레임(주 프레임 번호 Xnext=29)의 다중화는, 씬 체인지 프레임 번호 생성회로(4115)가 씬 체인지를 검출하고 나서 (N-1)회 행해진다.
따라서, 프레임 번호 33에 대응하는 부호화 데이터의 일부(메모리 4의 내용의 일부)는, 도 5b에 나타낸 바와 같이, 프레임 번호 29(메모리 5의 내용)에 대응하는 부호화 프레임에 계속하는 다른 프레임의 부호화 데이터와도 다중화된다. 구체적으로는, 프레임 번호 30(메모리 1의 내용)에 대응하는 부호화 데이터, 프레임 번호 31(메모리 2의 내용)에 대응하는 부호화 데이터, 및 프레임 번호 32(메모리 3의 내용)에 대응하는 부호화 데이터가 동시에 판독되어, 다중화기(4116)에 입력된다.
씬 체인지 프레임의 부호화 데이터 중, 다른 프레임의 부호화 데이터와 다중화되는 부분을 결정하는 방법은 특히 제한되지 않는다.
씬 체인지 프레임인 프레임 번호 33에 대응하는 부호화 데이터가, 주 프레 임(주 프레임 번호 Xnext에 해당)으로서 출력되면, 선행 프레임과 다중화되어 송신된 부분 이외의 데이터인 나머지의 부호화 데이터가, 주 프레임의 부호화 데이터로서 송신된다.
이러한 종래의 화상 데이터 전송 장치는, 기록 데이터 속도가 고정이고 안정적인 기록 미디어에 기록을 할 때의 전송 데이터량을 제어하기 위해 제공된다. 그 때문에, 버퍼 메모리(4108)로부터 판독한 부호화 데이터를 기록장치(4106)에 전송하기 위해 사용된 전송로의 품질이 동적으로 변화하는 환경에 대해서는 상정되어 있지 않다.
그 때문에, 씬 체인지 프레임을 검출하기 위한 임계값은 고정되어 있다. 이것은 전송로의 품질이 좋은 경우에는 큰 문제를 일으키지 않는다. 그러나, 품질이 저하한 경우에는, 부호화 데이터량이 임계값에 도달하지 않아도 버퍼 메모리(4105)의 오버플로우가 발생할 가능성이 있다.
초과한 부호량은, 선행하는 복수의 프레임에 균등하게 할당되어 있다(도 5b 참조). 그 때문에, 선행하는 프레임의 부호화 데이터량이 적고, 더 많은 양의 부호화 데이터의 다중화가 가능해도, 고정된 양의 부호화 데이터의 다중화만 수행된다. 따라서, 전송 대역의 이용 효율을 높은 레벨로 유지할 수가 없다. 또, 다중화되어야 하는 프레임의 부호화 데이터량이 임계값에 가까운 경우에는, 다중화를 행할 수가 없다.
상술한 바와 같이, 종래 기술의 전송 제어 방법을, 전송 품질이 동적으로 변화하는 전송로, 예를 들면 무선 통신 회선을 이용해 데이터 전송을 하는 통신 장치 의 데이터 전송 제어에 적용하는 것은 곤란하다.
본 발명은 시간마다 발생량이 변화하는 데이터를 효율적으로 전송할 수 있는 정보 전송 장치 및 정보 전송 방법을 제공한다.
단위시간 당의 발생량이 변화하는 데이터를 전송하는, 본 발명의 일 국면에 따른 정보전송장치는, 단위시간마다 각각 발생하는 복수의 데이터를 복수의 기억 데이터 단위로서 기억하도록 구성된 기억부와, 미리 결정된 임계값을 넘는 데이터량을 갖는 기억 데이터 단위의 일부인 초과 데이터분을, 상기 기억부에 기억되어 있는 복수의 기억 데이터 단위 중, 데이터량이 상기 미리 결정된 임계값에 도달하지 않는 적어도 하나의 기록 데이터 단위에 분배하도록 구성된 데이터량 제어부와, 상기 기억부에 기억된 복수의 데이터를 송신하도록 구성된 송신부를 포함한다. 상기 데이터량 제어부는, 상기 초과 데이터분이 분배되어야 하는 기억 데이터 단위의 데이터량과 상기 미리 결정된 임계값과의 차에 근거한 분배량에 따라 분배한다.
상기 정보전송장치는, 상기 송신부가 송신하는 전송로의 품질을 검출하도록 구성된 검출부와, 상기 검출한 품질에 따라 상기 전송로를 통해서 통신 가능한 데이터 속도를 상기 미리 결정된 임계값으로서 산출하도록 구성된 임계값 결정부를 더 포함해도 된다.
상기 정보전송장치는, 상기 전송로의 대역을 할당하는 외부 장치에 대해, 상기 미리 결정된 임계값에 대응하는 데이터량을 통신하는데 필요한 대역의 할당을 요구하도록 구성된 요구부를 더 포함해도 된다.
상기 송신부는, 상기 복수의 데이터를 각각 기억 데이터 단위로서 ISO(International Organization for Standardization) 파일 형식으로 변환하고, 그 변환된 파일을 송신 버퍼에 기억하도록 구성된 파일 생성부를 포함할 수도 있다. 상기 송신부는, 상기 송신 버퍼로부터 파일을 판독하고, 그 판독한 파일을 송신하도록 구성되어도 된다.
상기 파일 생성부는, 상기 기억 데이터 단위마다 송신 시각을 부가하도록 구성되어도 된다.
상기 기억 데이터 단위는, 프레임, 슬라이스, 또는 매크로블록의 단위로 부호화된 화상 데이터여도 된다.
단위시간 당의 발생량이 변화하는 데이터를 전송하는, 본 발명의 일 국면에 따른 정보전송방법은, 단위시간마다 각각 발생하는 복수의 데이터를 복수의 기억 데이터 단위로서 기억부에 기억하는 스텝과, 미리 결정된 임계값을 넘는 데이터량을 갖는 기억 데이터 단위의 일부인 초과 데이터분을, 상기 기억부에 기억되어 있는 복수의 기억 데이터 단위 중, 데이터량이 미리 결정된 임계값에 도달하지 않은 적어도 하나의 기억 데이터 단위에 분배하는 스텝과, 상기 기억부에 기억된 복수의 데이터를 송신하는 스텝을 포함한다. 상기 초과 데이터분이 분배되는 기억 데이터 단위의 데이터량과 상기 미리 결정된 임계값과의 차에 근거한 분배량에 따라 분배를 수행한다.
단위시간 당의 발생량이 변화하는 데이터를 전송하는 정보전송방법을 컴퓨터 에 실행시키는 본 발명의 일 국면에 따른 프로그램은, 단위시간마다 발생하는 복수의 데이터를 각각 복수의 기억 데이터 단위로서 기억부에 기억하는 스텝과, 미리 결정된 임계값을 넘는 데이터량을 갖는 기억 데이터 단위의 일부인 초과 데이터분을, 상기 기억부에 기억되어 있는 복수의 기억 데이터 단위 중, 데이터량이 상기 미리 결정된 임계값에 도달하지 않는 적어도 하나의 기억 데이터 단위에 분배하는 스텝과, 상기 기억부에 기억된 복수의 데이터를 송신하는 스텝을 포함한다. 상기 초과 데이터분이 분배되는 기억 데이터 단위의 데이터량과 상기 미리 결정된 임계값과의 차에 근거한 분배량에 따라 분배를 수행한다.
본 발명의 그 외의 목적, 특징 및 이점은 첨부도면을 참조하여 얻은 이하의 상세한 설명으로부터 분명해질 것이다.
본 발명에 의하면, 시간마다 발생량이 변화하는 데이터를 효율적으로 전송할 수 있는 정보 전송 장치 및 정보 전송 방법을 제공할 수 있다.
이하, 본 발명의 실시 예를 도면을 참조하면서 설명한다.
<제1 실시 예>
도 1은, 본 발명의 제1 실시 예에 따른 정보 전송 장치의 일례로서의 화상 부호화 및 전송 장치의 구성 예와, 화상 부호화 및 전송 장치를 이용한 정보 전송 시스템의 구성 예를 나타내는 블럭도이다. 즉, 제1 실시 예에서는, 단위시간 당의 발생량이 변화하는 데이터로서 화상 데이터를 전송하는 정보전송장치를 설명한다.
화상 부호화 및 전송 장치(100)의 입력 단자(1001)에 입력된 동화상 신호(아날로그 원화상)는, A/D 변환기(1002)에 의해 디지털 동화상 데이터로 변환되고, 이 디지털 동화상 데이터는 일시적으로 프레임 메모리(1003)에 축적된다. 입력 단자(1001)에 디지털 동화상 데이터가 입력되는 경우에는, A/D 변환기(1002)를 바이패스하거나 A/D 변환기(1002)를 삭제한 구성을 채택하거나 할 수가 있다.
프레임 메모리(1003)에 축적된 디지털 동화상 데이터는, 프레임 등의 단위로 판독되고, 이 판독된 디지털 동화상 데이터는 부호화기(1004)에 입력된다. 부호화기(1004)는, 디지털 동화상 데이터를 소정의 부호화 방법에 따라 압축 및 부호화하고, 이 압축 및 부호화된 디지털 동화상 데이터를 부호화 프레임으로서, 스위치(SW;1008)와 부호량 검출회로(1016)에 출력한다. 화상 데이터는, 부호화기(1004)에 의해 프레임, 슬라이스, 또는 매크로블록의 단위로 부호화되어도 된다.
부호화기(1004)는, 부호화 프레임을 출력할 때, 부호화 프레임에 대응하는 프레임 번호를 생성하고, 동시에 이 생성된 프레임 번호를 주 프레임 번호 생성장치(1012), 스위치(1008), 및 부호량 검출회로(1016)에 출력한다.
스위치(1008)는, 부호화기(1004)로부터 출력된 프레임 번호에 따라, 부호화기(1004)로부터 출력된 부호화 프레임에 대하여, N개의 메모리 1009~1011 중 1개를 선택한다. 이것에 의해, 부호화 프레임은, 메모리 1009~1011 중 하나에 기억된다.
다음에, 스위치(1008)가 메모리 1~N(1009~1011) 중 1개를 선택하는 방법에 관해서 설명한다.
제1 실시 예에 있어서, 메모리 1009~1011(메모리 번호 1~N)의 각각은 하나의 부호화 프레임을 기억한다. 즉, 메모리 1~N의 각각은, 단위시간마다(이 경우, 프레임마다) 발생하는 데이터를 기억 데이터 단위로서 기억한다. 부호화기(1004)로부터 출력되는 부호화 프레임의 프레임 번호를 X로 하면, 그 부호화 프레임이 기억되는 메모리 번호 L은, (X/N)의 잉여에 1을 가산함으로써 취득한 값과 동일하다. 즉, 식 L=(X mod N) + 1을 취득한다.
이하, 도 11에 나타낸 플로차트를 참조해, 제1 실시 예에 있어서의 다중화 파일을 생성하는 처리에 대해 설명한다. 이하에서는, 설명을 용이하게 하기 위해, 메모리의 총수 N를 5로 설정한다. 이 경우, 예를 들면, 부호화기(1004)로부터 출력된 부호화 프레임에 대응하는 프레임 번호 X가 41이면, 41/5의 잉여는, 1이기 때문에, 식 L=1+1=2가 취득된다. 이와 같이, 스위치(1008)는, 부호화기(1004)의 출력을 메모리 2(1100)의 입력에 접속한다. 따라서, 프레임 번호가 41인 부호화 프레임은, 메모리 2에 기억된다.
부호량 검출회로(1016)는, 부호화기(1004)에서 발생한 부호량과 비교하기 위한 임계값 T(또는 송신 비트 레이트 R)를, 제어기(1006)로부터 취득한다(스텝 S101). 제1 실시 예에 있어서, 이 임계값 T는, 후술한 바와 같이, 제어기(1006)가 동적으로 결정하는 최적의 부호량이다. 부호량 검출회로(1016)는, 수신된 부호화 프레임의 부호량 S를 산출하고, 이 부호량 S를 임계값 T와 비교한다(스텝 S103).
스텝 S105에서, 부호량 S가 임계값 T 이하라고 판정되었을 경우(즉, 스텝 S105에서, NO라고 판정된 경우), 부호량 검출회로(1016)는, 임계값 T와 부호화 프 레임의 부호량 S와의 차분치(T-S)를 산출한다. 그리고, 부호화 프레임에 대응하는 프레임 번호뿐 아니라, 차분치를 차분 맵(1017)에 부호량 여유로서 기억한다(스텝 S113).
스텝 S105에서 부호량 S가 임계값 T보다 크다고 판정되었을 경우(즉, 스텝 S105, YES라고 판정된 경우), 부호량 검출회로(1016)는, 프레임 번호를 셀렉터 스위치(1014)와, 다중화 및 파일화 장치(1015)에 출력한다. 동시에, 차분 맵(1017)에, 프레임 번호와, 임의로 정의된 값((이 값은 부호량 여유가 없음을 의미한다)을 기억한다. 그리고, 후술한 바와 같이, 임계값 T를 초과한 초과분을 할당하는 처리를 수행한다(스텝 S107).
설명의 편의상, 메모리 1에는 프레임 번호 40에 해당하는 부호화 프레임을 기억하고, 메모리 2에는 프레임 번호 41에 해당하는 부호화 프레임을 기억하며, 메모리 3에는 프레임 번호 37에 해당하는 부호화 프레임을 기억하고, 메모리 4에는 프레임 번호 38에 해당하는 부호화 프레임을 기억하며, 메모리 5에는 프레임 번호 39에 해당하는 부호화 프레임을 기억한다.
즉, 현재(최신)의 프레임은, 프레임 번호가 41인 부호화 프레임으로, 메모리 2에 기억되어 있다.
최신의 부호화 프레임에 대응하는 프레임 번호 X(=41)가 부호화기(1004)로부터 주 프레임 번호 생성기(1012)에 입력되면, 다음에 판독되는 주 프레임 번호 Xnext가 산출된다.
가장 과거에 기록된 부호화 프레임은 다음에 판독된다. 주 프레임 번호 Xnext은 식(1)을 이용해 산출된다.
Xnext = (최신의 부호화 프레임의 프레임 번호 X)-(N-1) ...(1)
따라서, 프레임 번호 X가 41이고, 메모리의 번호 N가 5인 경우, 주 프레임 번호 Xnext는 37이다. 이와 같이, 프레임 번호 X가 37인 부호화 프레임이 저장되어 있는 메모리가 다음에 판독된다. 전술한 것처럼, 메모리 번호 L은, 식 L=(X mod N)+1을 이용해 산출되기 때문에, 메모리 3은 다음에 판독되게 된다.
스텝 S105에서, 최신의 부호화 프레임의 부호량, 즉 프레임 번호 41에 대응하는 부호화 프레임의 부호량 S가, 임계값 T 이하라고 부호량 검출회로(1016)가 판정한 경우(즉, 스텝 S105에서 NO라고 판정된 경우), 부호량 검출회로(1016)는, 셀렉터 스위치(1013)에 대해서, 메모리 3을 선택하게 하고, 셀렉터 스위치(1014)에 대해서는, GND(즉, 레벨 0)를 출력하게 한다. 또, 부호량 검출회로(1016)는, (T-S)의 차를 부호량 여유로서 산출하고, 프레임 번호 41과 관련하여 부호량 여유를 차분 맵(1017)에 기억한다(스텝 S113).
셀렉터 스위치(1013)를 통해서 출력된 메모리 3의 내용, 즉 프레임 번호 37에 대응하는 부호화 프레임은, 다중화 및 파일화 장치(1015)에 입력된다.
셀렉터 스위치(1014)로부터의 출력은 제로이므로, 셀렉터 스위치(1013)의 출력(즉, 메모리 3의 내용)인 프레임 번호 37에 대응하는 부호화 프레임만이 다중화 및 파일화 장치(1015)에 공급된다. 다중화 및 파일화 장치(1015)는, 이 부호화 프레임의 파일화(팩킹(packing))를 미디어 데이터로서 ISO(International Organization for Standardization) 파일 형식에 따라 행하고, 파일화된 미디어 데이터를 송신 버퍼(1005)에 일시 기억한다(스텝 S115).
스텝 S105에서, 프레임 번호 41에 대응하는 부호화 프레임의 부호량 S가, 임계값 T보다 크다고 부호량 검출회로(1016)가 판정한 경우(즉, 스텝 S105, YES라고 판정된 경우), 부호량 검출회로(1016)는, 적어도 (S-T)의 차에 해당하는 부호량을, 프레임 번호 41에 대응하는 부호화 프레임보다도 먼저 표시되는 1개 이상의 선행 프레임과 다중화하고, 다중화한 부호량을 송신하기 위한 할당 처리를 수행한다(스텝 S107).
이하, 부호량이 임계값을 초과한 부호화 프레임의 분할 및 할당 처리에 대해 설명한다.
부호량 검출회로(1016)는, 다음에 판독되는 주 프레임 번호 Xnext(이 경우, 37)를 취득한다. 주 프레임 번호 Xnext는, 식(1)에 따라 부호량 검출회로(1016)에 의해 취득되거나, 또는 주 프레임 번호 생성기(1012)로부터 취득될 수 있다. 혹은, 주 프레임 번호 Xnext는, 제어기(1006)로부터 통지되어도 된다.
부호량 검출회로(1016)는, 취득한 주 프레임 번호 Xnext에 따라, 출력의 순서로 (N-1) 프레임에 대한 부호량 여유(MX)와 프레임 번호 X를 차분 맵(1017)으로부터 판독한다. 즉, 이 경우, 주 프레임 번호가 37이고, 식 N-1=4로부터 값 4가 취득되기 때문에, 프레임 번호 37~40에 대응하는 부호량 여유를 판독한다.
메모리 번호와, 프레임 번호 X와, 부호량 여유와, 출력 순서와의 관계를 이하의 테이블에 나타낸다.
메모리 번호 프레임 번호 부호량 여유 출력 순서
1 40 M1 4
2 41 --- 5(현재의 프레임)
3 37 M3 1
4 38 M4 2
5 39 M5 3
또한, 부호량 검출회로(1016)는, 차분 맵(1017)에 기억되어 있는 부호량 여유 M1, M3, M4, 및 M5를 갖는 프레임 번호 X에 대응하는 부호화 프레임이 기억되어 있는 메모리 번호 L를 산출한다.
부호량 검출회로(1016)는 부호량이 임계값 T를 초과한 프레임 번호 41에 대응하는 부호화 프레임의 분할량을 결정한다. 이하, 도 2a 내지 도 2c를 참조해, 제1 실시 예에 따른 화상 부호화 및 전송 장치에 있어서의 부호화 프레임 분할 및 할당 방법에 대해 설명한다. 이 분할 및 할당 처리는, 부호량 검출회로(1016)가 실시한다.
도 2a는, 프레임 번호 41에 해당하는 부호화 프레임의 부호량 S가, 임계값 T를 초과하고, 선행하는 프레임 37~40의 부호량 S가 임계값 T에 도달하지 않는다고 판정한 상태를 모식적으로 나타낸다.
이러한 경우, 프레임 번호 41에 해당하는 부호화 프레임 중, 부호량이 임계값 T를 초과하는 초과 데이터분(즉, 임계값 T를 초과하는 데이터량을 갖는 부호화 데이터의 분량)을, 처리 (1)~(3)에 따라 분할하고, 선행하는 부호화 프레임에 할당 한다.
(1) 초과 데이터분을, 그 선두로부터 분할하고, 사이즈 G1(도 2b에 나타낸 세그먼트 2001을 참조)을 갖는 세그먼트를 취득한다. 사이즈 G1은 프레임 번호 37에 해당하는 부호화 프레임의 부호량 여유 M3 이하이다. 그리고, 분할점 S1를 기억한다.
(2) 분할한 후의 나머지의 부호화 프레임의 부호량이, 여전히 임계값 T를 초과하는 경우, 초과 데이터분의 나머지를, 처리(1)와 마찬가지로, 그 선두(분할점 S1)로부터 분할하고, 사이즈 G2(도 2b에 나타낸 세그먼트 2002를 참조)를 갖는 세그먼트를 취득한다. 사이즈 G2는 프레임 번호 38에 해당하는 부호화 프레임의 부호량 여유 M4 이하이다. 그리고, 분할점 S2를 기억한다.
(3) 초과 데이터분이 없어져, 프레임 번호 41의 부호화 프레임의 부호량이 임계값 T 이하가 될 때까지, 처리 (1) 및 (2)를 반복한다.
분할점은, 통상 프레임을 구성하는 슬라이스나 매크로블록의 단위로 설정된다. 그러나, 그 외의 방법(예를 들면, 바이트 단위로 분할점을 설정해도 된다)을 이용해서 분할해도 된다. 분할점에 관한 정보와, 부호량이 할당되어야 하는 프레임에 관한 정보는, 분할 정보로서 예를 들면 내부 메모리에 기억되고(스텝 S109), 제어기(1006)에 통지된다. 그러한 분할 정보를 이용해 셀렉터 스위치 1013 및 1014, 메모리 판독 처리, 및 파일화 처리를 제어하기 때문에, 부호량 여유를 가진 프레임의 파일화 처리 시에, 부호량이 임계값을 초과하는 프레임의 부호화 데이터의 일부를 다중화하는 것이 가능해진다.
상술한 바와 같이, 도 2a 및 도 2b에 나타낸 예에서는, 부호량 S가 임계값 T를 초과하는 부호화 프레임을 3개의 세그먼트(2001~2003)로 분할했다. 그리고, 초과 데이터분의 일부인 세그먼트 2001은 프레임 번호 37에 해당하는 부호화 프레임과, 초과 데이터분의 다른 부분인 세그먼트 2002는 프레임 번호 38에 해당하는 부호화 프레임과 다중화된다. 이와 같이 함으로써, 부호량이 임계값 T를 초과하지 않도록, 프레임 번호 37~41에 해당하는 모든 부호화 프레임을 전송하는 것이 가능해진다.
상술한 바와 같이, 제1 실시 예에서는, 부호화 프레임마다 임계값 T에 대한 부호량 여유를 산출해 기억해 둔다. 임계값 T를 초과하는 부호량의 부호화 프레임이 발생했을 경우에는, 임계값 T를 초과하는 부호량의 부호화 프레임의 초과 데이터분을, 판독되는 선행 부호화 프레임의 부호량 여유에 따라 분할한다. 그리고, 선행 부호화 프레임의 송신 시에 다중화하고, 이 다중화된 부호화 프레임을 송신한다.
이와 같이, 도 2a 및 도 2b를 참조하여 설명한 것과 같이 분할을 했을 경우, 처리 (Ⅰ) 및 (Ⅱ)를 수행한다.
(Ⅰ) 주 프레임 번호 Xnext가 37인 경우에는, 프레임 번호 41에 해당하는 부호화 프레임의 도 2b에 나타낸 세그먼트 2001가, 메모리 2로부터 판독되고, 셀렉터 스위치(1014)를 통해서, 다중화 및 파일화 장치(1015)에 입력된다. 메모리 3으로부터, 제어기(1006)의 제어 하에 판독된 프레임 번호 37에 해당하는 부호화 프레임은, 셀렉터 스위치(1013)를 통해서 다중화 및 파일화 장치(1015)에 입력된다. 다중 화 및 파일화 장치(1015)는, 이들 부호화 프레임을 다중화해, ISO 파일로 변환한다(스텝 S111).
(Ⅱ) 주 프레임 번호 Xnext가 38인 경우에는, 프레임 번호 41에 해당하는 부호화 프레임 중, 도 2b에 나타낸 세그먼트 2002가, 메모리 2로부터 판독되고, 셀렉터 스위치(1014)를 통해서 다중화 및 파일화 장치(1015)에 입력된다. 메모리 4로부터, 제어장치(1006)의 제어 하에 판독된 프레임 번호 38에 해당하는 부호화 프레임은, 셀렉터 스위치(1013)를 통해서 다중화 및 파일화 장치(1015)에 입력된다. 다중화 및 파일화 장치(1015)는, 이들 부호화 프레임을 다중화하고, ISO 파일로 변환한다. 이것에 병행해, 처리 (Ⅰ)에서 프레임 번호 37에 해당하는 부호화 프레임을 판독한 메모리 3에는, 프레임 번호 42에 해당하는 부호화 프레임이 기록된다.
다중화 및 파일화 장치(1015)가 생성한 ISO 파일은, 상술한 바와 같이, 송신 버퍼(1005)에 일시 저장된다.
주 프레임 번호 Xnext가 38인 경우, 메모리 번호와, 프레임 번호 X와, 부호량 여유와, 출력 순서와의 관계를 이하의 테이블에 나타낸다.
메모리 번호 프레임 번호 부호량 여유 출력 순서
1 40 M1 3
2 41 --- 4
3 42 --- 5(현재의 프레임)
4 38 M4 1
5 39 M5 2
여기서, 도 2c에 나타낸 바와 같이, 프레임 번호 42에 해당하는 부호화 프레임의 부호량 S가, 임계값 T를 초과한다.
이 경우, 부호량 검출회로(1016)는, 취득한 주 프레임 번호 Xnext에 따라, 출력의 순서로 (N-2) 프레임에 대한 부호량 여유(MX)와 프레임 번호 X를 차분 맵(1017)으로부터 판독한다. 즉, 이 경우, 주 프레임 번호 Xnext가 38이고, N-2로부터 취득한 값이 3이기 때문에, 프레임 번호 38~40에 해당하는 부호화 프레임의 부호량 여유 M4, M5, 및 M1을 판독한다.
부호량 검출회로(1016)는, 차분 맵(1017)에 기억되어 있는 부호량 여유 M1, M4, M5를 갖는 프레임 번호 X에 대응하는 부호화 프레임이 기억되어 있는 메모리 번호 L를 산출한다.
다음에, 제어기(1006)의 제어 하에, 프레임 번호 42에 대응하는 부호화 프레임 중, 임계값 T를 넘는 부호량의 초과 부호화 데이터분을, 상술한 바와 같이 분할하고, 이 분할된 초과 데이터를 선행하는 부호화 프레임에 할당한다. 여기서, 프레임 번호 38에 대응하는 부호량 여유 M4는, 이미 프레임 번호 41에 대응하는 부호화 프레임에 의해 점유되어 있다. 그 때문에, 초과 데이터분을, 그 선두로부터 분할하고, 프레임 번호 39에 대응하는 부호화 프레임의 부호량 여유 M5 이하의 사이즈 G3(즉, 도 2c에 나타낸 세그먼트 2004)를 갖는 세그먼트를 취득한다. 그리고, 분할점 S3을 기억한다. 세그먼트 2004를 제거한 후에 프레임 번호 42에 대응하는 부호화 프레임의 나머지의 부호량이, 임계값 T를 넘지 않는 경우에는, 분할을 중지한다. 나머지의 부호량이, 임계값 T를 초과하는 경우에는, 나머지의 부호량이 임계값 T 이하가 될 때까지, 상기의 처리를 반복한다.
상술한 바와 같이, 제1 실시 예에 따른 화상 부호화 및 전송 장치에서는, 임계값 T를 넘는 부호량의 부호화 프레임을 분할하고, 임계값을 초과하는 부호량의 부호화 프레임이 전송되는 부호화 프레임의 부호량과 임계값과의 차에 대응한 사이즈를 갖는 세그먼트를 취득한다. 그 때문에, 임계값에 가까운 양을 갖는 데이터를 전송하는 것이 가능하여, 전송 용량의 이용 효율을 향상시킬 수 있다.
설명의 편의상, 5개의 메모리(N=5), 즉 5프레임에 대한 메모리를 포함하는 장치를 예로서 설명했다. 전송 용량의 이용 효율을 증가시키는 상술한 효과는, 임계값이 고정될 때 취득될 수 있다. 그러나, 본 실시 예에서는, 통신회선의 이용 효율을 최대한 향상시키기 위해서, 임계값 T를 변동시킨다. 그 때문에, 부호화 프레임의 부호량이 연속해 임계값 T를 초과할 가능성이, 임계값 T를 고정하는 경우보다도 높아진다.
따라서, 회선의 이용 효율을 높이면서, 안정된 전송 처리를 달성하기 위해서, N의 값(메모리의 총수)은 어느 정도 큰 것이 바람직하다. 예를 들면, 부호화기(1004)가, MPEG2(Moving Picture Experts Group 2) 방식 등, 복수의 프레임(a group of pictures(GOP)) 단위로 부호화를 수행하는 부호화 방식을 이용하는 경우에는, 메모리의 수는 GOP를 구성하는 프레임의 수 이상(예를 들면, 15 이상)인 것이 바람직하다.
송신 버퍼(1005)에 저장되고 ISO 파일 형식으로 팩킹된 부호화 프레임군은, 제어기(1006)의 제어 하에 필요에 따라 통신장치(1007)에 출력된다.
통신장치(1007)는, ISO 파일 형식에 근거한 수신된 패킷을 참조해, 후술하는 "User Data Box"에 송신 타임 스탬프(ST)가 기술되어 있는지 어떤지를 검출한다. 송신 타임 스탬프(ST)가 "User Data Box"에 기술되어 있는 경우에는, 통신장치(1007)는 송신 타임 스탬프(ST)에 따라, ISO 파일 형식에 근거한 패킷을 통신회선(1018)에 출력한다(도 10b 참조). 대조적으로, "User Data Box"에 송신 타임 스탬프(ST)가 기술되어 있지 않은 경우에는, 통신장치(1007)는 패킷에 대한 최적의 송신 개시 시각을 산출하고, 산출된 최적의 송신 개시 시각에 따라, 패킷을 통신회선(1018)에 출력한다(도 10a 참조). 송신 개시 시각은, 패킷의 데이터 구성(예를 들면, 패킷을 구성하는 부호화 데이터의 복호화 처리 개시 시각(DT))과, 직전에 출력된 패킷의 송신 개시 시각에 따라 산출될 수가 있다.
"User Data Box"에 송신 타임 스탬프(ST)가 기술되어 있지 않고, 다른 부호화 프레임의 초과 데이터의 일부가 다중화되어 있는 경우에는, 1개의 패킷 중에 2개의 독립적인 복호화 처리 개시 시간이 존재한다. 이 경우, 단순히 복호화 처리 개시 시간(DT)을 참조한 것만으로는, 송신 개시 시각을 결정할 수 없다. 예를 들면, 복수의 복호화 처리 개시 시간(DT) 중 가장 빠른 시각과, 직전에 출력된 패킷의 송신 개시 시각에 따라, 통신회선(1018)의 이용 효율이 가장 높아지도록, 송신 개시 시각을 산출할 수가 있다.
통신회선(1018)에 출력된 패킷은, 액세스 포인트(1020) 및 통신회선(1019)을 경유해, 수신기 측에 송신된다.
제어기(1006)는, 다중화 및 파일화 장치(1015)가, 부호화 프레임을 ISO 파일로 변환할 때, 그 파일의 송신이 개시되는 시각을 산출하고, 필요에 따라서, 송신 개시 시각 정보(1021)를 다중화 및 파일화 장치(1015)에 출력한다.
다중화 및 파일화 장치(1015)는, 제어기(1006)로부터 수신된 송신 개시 시각정보를, 부가 정보로서 도 7에 나타낸 참조번호 7010으로 표시된 "User Data Box"(Type = udta) 내에 소망의 서식으로 기록하고, 송신 개시 시작 정보를 팩킹된 ISO 파일로서 출력하는 것도 가능하다.
다중화 및 파일화 장치(1015)에 의해 추가 가능한 부가 정보는, 반드시 송신 개시 시각 정보는 아니다.
도 6은, ISO 파일 형식으로 정의되어 있는 박스의 일람을 나타낸다.
도 6을 참조하면, 왼쪽으로부터 6번째까지의 라인, 즉 첫 번째~여섯 번째까지의 라인은, ISO 파일 형식으로 정의되어 있는 박스의 종류와, 그 포함 관계를 나타낸다. 가장 오른쪽의 라인은, 해당하는 박스의 설명을 나타낸다.
각 박스에는, 박스의 종류를 식별하기 위한 4바이트를 이용해 표현된 "Type"이 할당되어 있다. 통상, "Type"는 4문자의 영숫자를 이용해 표현된다. 이 4문자의 영숫자를 이용해 표현된 "Type"가 가장 왼쪽 6라인에 기재되어 있다. 이후의 설명에서는, 특정의 박스를 나타내기 위해서 이 "Type"를 이용한다.
어느 박스가 다른 박스를 포함하는 관계는, 해당하는 라인들의 위치 관계에 의해 표현된다. 도 6에서는, 어떤 라인의 박스가, 우측에 위치하는 박스를 포함하는 경우를 나타내고 있다. 예를 들면, 위로부터 두 번째의 행에 있는 박스 "moov" 는, 박스 "mvhd", "trak", "mvex", "udta" 등을 포함한다.
도 7은, ISO 파일 형식의 데이터 구조를 단순화해 나타낸 도면이다.
ISO 파일 형식에 근거한 통상의 박스 구성은, 도 7에 나타낸 바와 같이, 미디어 데이터의 메타데이타를 저장하기 위한 박스(moov)7001와, 실제의 미디어 데이터를 저장하는 박스(mdat)7002를 포함한다. 미디어 데이터는, 예를 들면 동화상이나 음성의 샘플 데이터이다. 미디어 데이터의 메타데이타는, 동화상이나 음성 샘플의 관리 정보와 같은, 미디어 데이터에 관한 정보이다.
박스(moov)7001 내에는, 미디어 데이터에 대응하는 박스인, 박스(trak)7003가 포함된다. 박스(mdat)7002 내의 미디어 데이터는, 동화상이나 음성이 연속하는 복수 샘플의 세트(청크(chunk))로 분할되어 있다. 박스(mdat)7002의 데이터 필드에는, 청크의 배열이 저장되어 있다.
이 청크의 사이즈와 이 청크에 포함되는 샘플의 개수는 특히 제한되지 않는다. 이 청크의 사이즈와 이 청크에 포함되는 샘플의 개수는 환경 및 상황에 따라 결정될 수 있다. 박스(udta)7010은, 도 6에 나타낸 박스 일람의 "udta"(User Data Box)에 해당한다. ISO 파일 형식에 의하면, 박스(udta)7010은 박스(moov)7001의 직하에 존재한다.
"User Data Box"(Type = udta)의 내용 및 형식은, ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)의 규격서로 정의되지 않고, "User Data Box"의 기능을 서포트하지 않는 재생장치에 의해서 무시된다. 그 때문에, 박스 "udta"의 존재가 박스 (Type="udta")를 서포트 하지 않는 재생장치의 동작에 영향을 주는 일은 없다.
상술한 바와 같이, 다중화 및 파일화 장치(1015)에 있어서, "User Data Box"에 저장된 부가 정보의 내용은, 송신 개시 시각 정보에 한정되는 것은 아니고, 임의의 종류의 정보를 임의의 형식으로 저장하는 것이 가능하다.
제어기(1006)는 또한, 통신장치(1007)를 통해서, 수신기의 버퍼 용량, 데이터 처리 성능 등의 사양 정보를 취득하고, 처리 가능한 최대의 비트 레이트, 비트 레이트에 대해서 허용 가능한 지연 시간 등을 산출한다. 또, 제어기(1006)는 회선 용량의 순시값을 검출하고, 정의된 기간의 평균 회선 용량과, 산출된 평균 회선 용량에 대한 순시 회선 용량의 범위를 산출한다. 제어기(1006)는 이러한 취득 혹은 산출한 값을 파라미터로서 사용해, 회선 용량의 이용 효율이 소정값 이상이고, 수신기 측의 처리가 성공적으로 행해지지 않는다는 조건 하에, 단위 표시 시간에 대한 최적의 부호량(예를 들면, 프레임마다의 부호량) W를 산출한다. 제어기(1006)는 산출된 최적의 부호량(1022)을, 부호화기(1004)와 부호량 검출회로(1016)에 출력한다.
부호화기(1004)는, 발생 부호량의 목표(상한)치를, 수신된 최적의 부호량(1022)으로 설정하고, 부호량을 제어한다.
부호량 검출회로(1016)는, 부호화기(1004)에 있어서의 발생 부호량과 비교를 하기 위한 임계값 T(도 8a 및 도 8b 참조)를, 최적의 부호량(1022)으로 설정한다.
통신회선 상의 액세스 포인트(1020)가, IEEE 802.11e 등의 QoS(Quality of Service) 기능을 서포트하는 경우, 제어기(1006)는, 액세스 포인트(1020)에 대해서 회선 용량의 할당 요구를 할 수가 있다. 구체적으로, 제어기(1006)는 상술한 최적의 부호량 W에 대해 다중화 및 파일화 장치(1015)가 ISO 파일화를 수행했을 경우의 오버헤드 V의 예측치를 가산함으로써 얻은 값(W+V)인 필요 부호량 U에 따라 회선 용량의 할당을 액세스 포인트(1020)에 요구한다. 그리고, 제어기(1006)는 액세스 포인트(1020)로부터의 회선 용량의 할당치 A를 취득한다.
이 경우, 제어기(1006)는, 액세스 포인트(1020)에 의해 할당된 회선 용량 A로부터, ISO 파일화를 수행하는 경우에 발생하는 오버헤드 V를 감산함으로써 얻은 값(A-V)을, 최적의 부호량 W로서 부호량 검출회로(1016) 및 부호화기(1004)에 출력한다.
수신기가, RTCP(RTP(Reduced Test Package) Control Protocol), RTSP(Real-Time Streaming Protocol) 등의 기능을 이용해, 화상 부호화 및 전송 장치(100)에 정보를 피드백하는 기능을 가지고 있는 경우, 제어기(1006)는, 통신장치(1007)를 통해서 수신장치로부터의 정보를 수신하는 것이 가능하다.
제어기(1006)는, 에러 레이트, 분배 정지 요구 등의 정보를 수신했을 경우, 부호화기(1004)에, 부호량의 증감 지시, 부호화 처리의 정지 등의 제어 정보를 출력함으로써, 수신기 측으로부터의 요구에 응답해, 부호화 처리를 제어하는 것도 가능하다.
이상 설명한 것처럼, 제1 실시 예에 의하면, 부호량이 임계값을 넘는 프레임의 부호화 데이터의 초과 데이터분을, 부호량이 임계값에 도달하지 않은 선행하는 프레임의 부호화 데이터와 다중화하고, 이 다중화된 부호화 데이터를 송신한다. 다 중화되어야 하는 초과 부호화 데이터의 양은, 초과 부호화 데이터와 다중화되는 프레임의 부호량과 임계값과의 차에 따라 증감되기 때문에, 화질의 열화를 억제하면서, 회선의 이용 효율을 향상시키는 것이 가능하게 된다.
게다가, 회선 상태에 따라 임계값을 동적으로 변경하기 때문에, 통신 품질이 동적으로 변화하는 회선을 통해서 송신하는 경우에도, 통신 버퍼의 오버플로우를 방지하면서 높은 회선 이용 효율을 실현하는 것이 가능해진다.
또, ISO 파일 형식을 채용하기 때문에, 송신 패킷 사이즈를 사정에 따라 플렉시블하게 변경 가능하다. 게다가, 패킷마다의 부가 정보로서, 패킷의 송신 시각을 삽입할 수가 있다. 이와 같이, 송신 서버는, 부가 정보로서 부여된 송신 시각에 따라 패킷을 송출할 수가 있다. 따라서, 패킷 송신 시각을 산출하기 위한 서버에 가해진 부하가 경감된다.
게다가, ISO 파일 형식을 이용하면, "Hinting"를 이용가능하다. 따라서, 수신기가 "HintSampleEntry()"의 내용을 참조하면, 후속 프레임의 부호량을 예측할 수 있다. 이와 같이, 수신기의 수신 버퍼의 오버플로우나 언더플로우를 예측하는 것이 가능해진다.
또한, 수신기가, 변경 요구를 송신하는 유닛을 포함하고 있으면, 후속 프레임의 예측한 부호량에 따라 버퍼의 오버플로우나 언더 플로우가 생길 우려가 있다고 판정된 경우, 수신기는 부호화 레이트(송신 비트 레이트)의 변경 요구를 송신기(부호화기) 측에 송신할 수가 있다. 이 변경 요구에 응답해, 제어기(1006)가 임계값 T를 제어하면, 수신기에 있어서의 버퍼의 오버플로우나 언더 플로우 등의 처 리 실패를 방지하는 가능성을 높일 수가 있다.
<제2 실시 예>
다음에, 본 발명의 제2 실시 예에 관해서, 도 3을 참조하면서 설명한다.
제1 실시 예는, 동화상 데이터를 부호화하고, 부호화된 동화상 데이터를 전송하는 장치의 예를 설명하지만, 제2 실시 예는, 부호화된 동화상 데이터를 분배하는 동화상 분배 시스템의 예를 설명한다. 부호화된 동화상 데이터를 판독하는 경우에도, 제1 실시 예와 같이, 단위 시간 당의 데이터 발생량이 변화한다. 이와 같이, 본 발명을 이 경우에도 적용 가능하다는 것을 용이하게 이해해야 한다.
도 3은, 제2 실시 예에 따른 정보 전송 장치의 일례로서의 동화상 분배 장치의 구성 예와, 이 동화상 분배 장치를 이용한 정보 전송 시스템의 구성 예를 나타내는 블럭도이다.
예를 들면, 하드 디스크 드라이브 등의 축적 미디어 1(3000)에는, 소정의 방식을 이용해 이미 부호화가 끝난 복수의 동영상 콘텐츠가 저장되어 있다.
축적 미디어 1(3000)에 저장된 콘텐츠가 갱신(추가)되면, 콘텐츠 서버(3002)는, 갱신된 콘텐츠의 부호량을, 표시 시간마다 또는 프레임마다 검출하고, 콘텐츠 전체의 부호량 맵을 작성한다. 그리고, 콘텐츠 서버(3002)는, 부호량 맵 기억장치(3003)에, 콘텐츠를 특정하는 정보(예를 들면, 콘텐츠 ID)와 콘텐츠의 부호량을 서로 관련시켜 기억한다.
도 8a는, 프레임마다의 부호량에 따라 작성된 부호량 맵을 모식적으로 나타낸다. 도 8a에서는, 부호량을 파악하기 쉽게, 막대 그래프를 이용해 맵을 나타내고 있다. 그렇지만, 실제로는, 프레임마다의 부호량을 수치로 기록한다.
제어기(3006)는, (도시하지 않은) 수신기로부터 콘텐츠의 분배 요구를 수신하면, 그 시점에서 확보한 회선 용량과, 수신기의 능력을 고려해 최적의 송신 비트 레이트 R를 산출한다. 그리고, 제어기(3006)는 분배되도록 요구된 콘텐츠 ID와 비트 레이트 R과 함께, 콘텐츠 서버(3002)에, 분배 개시 명령을 출력한다.
분배 개시 명령을 수신한 콘텐츠 서버(3002)는, 지정된 콘텐츠 ID에 대응하는 부호량 맵을 부호량 맵 기억장치(3003)로부터 판독한다. 그리고, 콘텐츠 서버(3002)는 해당 프레임의 부호량과, 산출된 최적의 송신 비트 레이트 R에 따라, 각 프레임의 부호량 여유를 산출하고, 비트 레이트 R로 소정의 프레임 시간 내에 송신할 수 없는 부호량을 갖는 프레임(초과 프레임)을 검출한다. 부호량 여유를 어떤 방법으로도 산출할 수 있다. 30프레임/초로 표시를 하면, 1프레임 당의 비트 레이트는, 예를 들면, R[비트/초]/30[프레임/초]=R/30[비트/프레임]으로 산출될 수가 있다.
최적의 송신 비트 레이트 R에 대한 초과 부호량을 갖는 프레임의 초과 데이터분을, 축적 미디어 1(3000)로부터 판독하고, 이 판독한 초과 데이터분을 축적 미디어 2(3001)에 일시 기억한다. 일시 기억한 부호화 데이터는, 적어도 프레임의 부호량이 비트 레이트 R을 초과하는 부호량을 갖는다. 예를 들면, 프레임을 블록의 단위로 일시 기억하는 경우, 실제의 초과 데이터분에 대응하는 양보다 많은 양을, 일시 기억하는 경우가 일어날 수 있다. 이와 같이, 초과 부호량을 갖는 프레임을, 비트 레이트 R에 대응하는 부호량 이하의 사이즈를 갖는 세그먼트를 취득하도록 분할해도 된다.
다음에, 수신기에 있어서의 표시의 순서로 선행하는 복수의 프레임(프레임 수는 제한되지 않음)의 부호량 여유를 참조해, 초과 데이터분의 부호량이 해당 부호량 여유를 초과하지 않도록 초과 부호량을 갖는 프레임의 적어도 초과 데이터분을 분할한다. 즉, 초과 프레임의 부호량과 선행하는 각 프레임의 부호량이 비트 레이트 R에 대응하는 부호량을 초과하지 않도록, 축적 미디어 2(3001)에 일시 기억한 초과 데이터분의 세그먼트 수와, 분할비와, 다중화를 행하는 프레임(프레임 번호)을 결정한다. 그리고, 결정한 세그먼트 수와, 분할비와, 다중화를 행하는 프레임의 프레임 번호를, 초과 데이터분에 대응시켜 축적 미디어 2(3001)에 기억한다.
도 8a 및 도 8b에 있어서는, 최적의 송신 비트 레이트 R에 대응한 부호량을, 제1 실시 예와 같이 임계값 T로서 나타내고 있다. 도 8a를 참조하면, 최초로 출현하는 초과 프레임의 프레임 번호는 7이다. 이 경우, 콘텐츠 서버(3002)는, 프레임 번호 7에 대응하는 초과 프레임을 선행하는 프레임 번호 1~6에 대응하는 프레임의 부호량 여유를 판독한다. 부호량 여유는, 상대적으로 내림차순(이 경우, 예를 들면 4, 5, 6, 1, 2, 3의 순)으로 배열된다. 초과 데이터분의 부호량과 프레임 번호 4, 5, 6, 1, 2, 3에 대응하는 프레임의 부호량 여유를 비교해, 초과 데이터분의 세그먼트의 수 및 다중화지(distination of the muliplication)를 결정한다.
예를 들면, 세그먼트의 수가 3(프레임 번호 4, 5, 6에 대응하는 부호량 여유를 선택)이면, 적어도 초과 데이터분을, 선택된 프레임 번호 4, 5, 6에 대응하는 부호량 여유를 초과하지 않는 사이즈를 갖는 3개의 세그먼트로 분할한다. 도 8b에 나타낸 예에서는, 프레임 번호 7에 대응하는 프레임의 초과 데이터분과 다른 데이터분을, 동일한 사이즈를 갖는 3개의 세그먼트를 얻도록 분할한다. 그렇지만, 프레임 번호 16에 대응하는 프레임으로 표시한 바와 같이, 세그먼트들은 반드시 동일한 사이즈를 갖지 않아도 된다. 제2 실시 예에 있어서, 다른 부호화 프레임과 다중화하는 초과 데이터분의 세그먼트의 수, 분할비, 또는 세그먼트 개개의 부호량(사이즈)을, 소망의 방식으로 결정할 수가 있다.
제2 실시 예에서는, 상술한 바와 같이, 축적 미디어 2(3001)에는, 프레임 번호 7에 대응하는 프레임의 초과 데이터분과, 그 초과 데이터분의 어느 부분을 어느 프레임과 다중화하는지를 특정 가능한 정보가 기억된다. 구체적으로, 다중화되어야 하는 프레임의 프레임 번호와, 다중화하는 초과 데이터분이 기억된 축적 미디어 2(3001)의 개시 어드레스와 데이터량의 조합이 기억되어도 된다.
콘텐츠 서버(3002)는, 제어기(3006)로부터 분배가 요구된 콘텐츠의 모든 프레임에 대해서 상술한 처리를 수행한다. 상술한 처리의 완료 시점에서, 요구된 콘텐츠의 분배를 개시한다.
이 시점에서, 부호량이 임계값 T를 초과한 프레임의 초과 데이터 분은, 모두 축적 미디어 1(3000)로부터 축적 미디어 2(3001)로 이동된다. 그 때문에, 축적 미디어 1(3000)에 저장되어 있는, 분배가 요구된 콘텐츠의 각 프레임의 부호량은, 최적의 송신 비트 레이트 R 이하이다.
분배가 개시되면, 분배가 요구된 콘텐츠의 각 프레임이, 소정의 순서로 판독 되어, 콘텐츠 서버(3002)에 입력된다.
콘텐츠 서버(3002)는, 축적 미디어 1(3000)로부터 판독된 프레임의 프레임 번호를 감시한다. 축적 미디어 2(3001)에 기억한 초과 데이터분의 세그먼트와 다중화하는 프레임이 축적 미디어 1(3000)로부터 판독되면, 대응하는 세그먼트를, 축적 미디어 2(3001)로부터 판독한다. 그리고, 판독한 부호화 데이터를 서로 다중화(결합)해 파일화 장치(3008)에 출력한다.
예를 들면, 축적 미디어 1(3000)로부터 프레임 번호 4가 판독된다. 이 경우, 동시에, 프레임 번호 4에 대응하는 부호화 데이터와 다중화되는 초과 데이터분의 세그먼트가, 축적 미디어 2(3001)로부터 판독된다. 콘텐츠 서버(3002)는 프레임 번호 4에 대응하는 부호화 데이터와 판독한 초과 데이터분의 세그먼트를 다중화하고, 그 다중화한 부호화 데이터를 파일화 장치(3008)에 입력한다.
마찬가지로, 프레임 번호 5가 판독되면, 프레임 번호 5에 대응하는 부호화 데이터와 다중화되는 초과 데이터분의 세그먼트가, 축적 미디어 2(3001)로부터 동시에 판독된다. 콘텐츠 서버(3002)는, 프레임 번호 5에 대응하는 부호화 데이터와 판독한 초과 데이터분의 세그먼트를 다중화하고, 이 다중화된 부호화 데이터를 파일화 장치(3008)에 입력한다.
이러한 판독 처리는, 콘텐츠 서버(3002) 자체의 제어 하에 행해져도 되고, 또는 제어기(3006)의 제어 하에 행해져도 된다.
일정량의 회선 용량을 유지하고, 에러도 거의 발생하지 않는 통신회로를 이용하는 경우에는, 분배 요구의 수신 시에 설정된 회선 용량에 근거한 상술의 분할 처리를 반드시 행하지 않아도 된다. 이러한 경우에는, 회선 용량이 변동하지 않는다고 간주할 있기 때문에, 일정량의 회선 용량(비트 레이트) Rt를 상정해 미리 분할 처리를 할 수가 있다. 따라서, 분배 요구를 수신한 후에 즉시 축적 미디어 1(3000)로부터 순차적으로 부호화 프레임을 판독하고, 축적 미디어 2(3001)에 기억된 내용에 따라 부호화 데이터의 초과 데이터분을 순차적으로 판독한다. 이렇게 함으로써, 즉시 분배를 개시할 수 있다.
대응하는 부호화 프레임에는, 도 9a 및 도 9b에 나타낸 바와 같이, 수신기에 있어서, 그 부호화 프레임의 복호화 처리를 개시하는 시각을 나타내는 디코딩 타임 스탬프(DT)가 부여된다. 축적 미디어 1(3000)로부터 콘텐츠 서버(3002)에 입력된 부호화 프레임은, 필요에 따라서 후속 프레임의 부호량의 일부(즉, 초과 데이터분의 세그먼트)와, 프레임 번호, 복호화 개시 시각(DT), 및 표시 개시 시각(CT)에 관한 정보와 다중화되어, 파일화 장치(3008)에 입력된다.
도 9b에 나타낸 프레임 1과 4를 설명하면, 프레임 1에는, 후속 프레임의 초과 데이터분을 할당할 수 없어, 단일의 디코딩 타임 스탬프(DT)를 갖는 데이터만으로 구성되어 있다. 그 때문에, 파일화 장치(3008)는, 도 10a에 나타낸 참조번호 10001로 나타낸 바와 같이, 프레임 1의 부호화 데이터로부터만, ISO 파일 형식에 있어서의 1파일(1패킷)을 생성한다. 대조적으로, 프레임 4에서는, 부호량이 임계값 T를 초과하는 프레임 7의 부호량의 일부를 할당할 수 있다. 그러므로, 도 10a에 나타낸 참조번호 10002로 나타낸 바와 같이, 프레임 4의 부호화 데이터와, 프레임 7의 부호화 데이터의 일부로 구성된 다중화 데이터로부터 1패킷을 생성한다. 따라 서, 다중화 데이터로부터 생성된 패킷에는, 복수의 부호화 개시 시간(DT)이 포함된다.
파일화 장치(3008) 내의 ISO 파일 형식으로 팩킹(파일화)된 부호화 데이터는, 송신 버퍼(3005)에 일시 기억된다.
제1 실시 예와 같이, 제어기(3006)는, 부호화 프레임이 파일화 장치(3008)에 입력될 때, ISO 파일 형식으로 팩킹(패킷화)된 부호화 프레임이, 통신 장치(3007)로부터 송신되는 시각을 예측할 수가 있다. 예측된 시간을 송신 타임 스탬프(ST)로서, ISO 파일 형식의 "User Data Box"(도 7에 나타낸 참조번호 7010 참조)에 저장하는 것이 가능하다. 도 10b는, 송신 타임 스탬프(ST)를 저장한 예를 나타낸다.
송신 버퍼(3005)에 일시 기억된 패킷(부호화 콘텐츠)은, 제어기(3006)의 제어 하에 필요에 따라 판독되어, 통신 장치(3007)에 입력된다.
각 패킷의 "User Data Box"에 송신 타임 스탬프(ST)가 기록되어 있는 경우에는, 송신 타임 스탬프(ST)가 지시하는 시각에 따라, 패킷을 통신로(3018)에 출력한다.
한편, 각 패킷의 "User Data Box"에 송신 타임 스탬프(ST)가 기록되어 있지 않은 경우에는, 제어기(3006)가, 패킷을 통신로(3018)에 출력하는 시각을 산출하고, 제어기(3006)는 그 산출한 시각에 따라, 패킷을 통신로(3018)에 출력한다. 이 시각은, 예를 들면, 송신 버퍼(3005)의 빈 용량, 통신로(3018)의 상태, 직전의 패킷을 출력한 시간 등에 따라 산출될 수가 있다.
통신로(3018)에 출력된 패킷은, 액세스 포인트(3020) 및 통신로(3019)를 통 해서, (도시하지 않은) 수신기에 분배된다.
이상 설명한 것처럼, 제2 실시 예에 의하면, 축적된 부호화 동화상 데이터를 송신하는 경우에 있어서도, 제1 실시 예와 같은 효과를 얻는 것이 가능하다.
<다른 실시 예>
상술한 실시 예는, 시스템 혹은 장치의 컴퓨터(혹은 CPU, MPU 등)에 의해 소프트웨어적으로 실현하는 것도 가능하다.
따라서, 상술한 실시 예를 컴퓨터로 실현하기 위해서, 해당 컴퓨터에 공급되는 컴퓨터 프로그램 자체도 본 발명을 실현한다. 즉, 상술한 실시 예의 기능을 실현하기 위한 컴퓨터 프로그램 자체도 본 발명에 포함된다.
상술한 실시 예를 실현하기 위한 컴퓨터 프로그램으로서는, 컴퓨터로 판독 가능하면, 어떠한 형태의 프로그램을 사용해도 괜찮다. 예를 들면, 오브젝트 코드, 인터프리터에 의해 실행되는 프로그램, 또는 OS(operating system)에 공급하는 스크립트 데이터 등을 사용해도 된다. 그렇지만, 컴퓨터 프로그램의 형태는 상기 예에 한정되는 것은 아니다.
상술의 실시 예를 실현하기 위한 컴퓨터 프로그램은, 기억 매체 또는 유선/무선통신을 통해서 컴퓨터에 공급된다. 프로그램을 공급하기 위한 기억 매체로서는, 예를 들면, 플렉시블 디스크, 하드 디스크, 자기 테이프 등의 자기 기억 매체, MO, 콤팩트 디스크(CD), DVD(digital versatile disc) 등의 광 기억매체 또는 광자기 기억 매체, 또는 불휘발성의 반도체 메모리 등이 있다.
유선/무선 통신을 이용한 컴퓨터 프로그램을 공급하는 방법으로서는, 컴퓨터 네트워크의 서버를 이용하는 방법이 이용가능하다. 이 경우, 본 발명을 형성하는 컴퓨터 프로그램으로서 기능을 할 수도 있는 데이터 파일(프로그램 파일)을 서버에 기억해 둔다. 프로그램 파일로서는, 실행 형식이어도 되고, 소스 코드여도 된다.
이 서버에 액세스한 클라이언트 컴퓨터에, 프로그램 파일을 다운로드함으로써 프로그램 파일을 공급한다. 이 경우, 프로그램 파일을 복수의 세그먼트 파일로 분할하고, 세그먼트 파일을 다른 서버에 분산하는 것도 가능하다.
즉, 상기 실시 예를 실현하기 위한 프로그램 파일을 클라이언트 컴퓨터에 제공하는 서버 장치도 본 발명에 포함된다.
상술한 실시 예를 실현하기 위한 컴퓨터 프로그램을 부호화해 기억 매체에 저장해서 유저에게 배포한다. 소정의 조건을 만족한 유저에게만, 부호화된 프로그램을 복호화하는 열쇠 정보를 공급해도 되고, 유저가 소유한 컴퓨터에 컴퓨터 프로그램을 인스톨하는 것도 가능하다. 열쇠 정보는, 예를 들면 인터넷을 통해서 홈페이지로부터 다운로드함으로써 공급될 수가 있다.
또, 상술한 실시 예를 실현하기 위한 컴퓨터 프로그램은, 컴퓨터상에서 가동하는 OS의 기능을 이용하는 것도 괜찮다.
게다가, 상술한 실시 예를 실현하기 위한 컴퓨터 프로그램의 일부를 컴퓨터에 장착되는 확장 보드 등의 펌웨어로 구성해도 되고, 확장 보드에 포함된 CPU로 실행해도 괜찮다.
즉, 상기 실시 예의 설명은, 하나의 예시에 지나지 않으며, 본 발명을 제한하는 것으로 해석되어서는 안된다.
따라서, 본 발명의 범위는 오직 이하의 청구항들에 의해서만 결정될 것이고, 본 발명의 정신 및 범위 내에 있는 청구항들의 범위와 같은 범위 내에서만 변형이 가능하다.
본 발명은, 예시한 실시 예를 참조하면서 설명되었지만, 본 발명은, 이 예시한 실시 예에 한정되지 않는다. 이하의 청구항들의 범위는 모든 변형, 균등구조 및 기능을 포함하도록 가장 넓게 해석되어야 한다.
도 1은, 본 발명의 제1 실시 예에 따른 정보 전송 장치의 일례인 화상 부호화 및 전송 장치의 구성 예와, 화상 부호화 및 전송 장치를 이용한 정보 전송 시스템의 구성 예를 나타내는 블럭도이다.
도 2a 내지 도 2c는, 제1 실시 예에 따른 화상 부호화 및 전송 장치에 있어서의 부호화 프레임의 분할 및 할당 방법을 모식적으로 나타내는 도면이다.
도 3은, 본 발명의 제2 실시 예에 따른 정보 전송 장치의 일례인 동화상 분배장치의 구성 예와, 이 동화상 분배장치를 이용한 정보 전송 시스템의 구성 예를 나타내는 블럭도이다.
도 4는, 종래의 화상 데이터 전송 장치의 구성 예를 나타내는 블럭도이다.
도 5는, 종래의 초과 부호량을 갖는 프레임의 분할 및 할당 방법을 설명하는 도면이다.
도 6은, ISO 파일 형식으로 정의되어 있는 박스의 일람을 나타내는 도면이다.
도 7은, ISO 파일 형식의 데이터 구조를 단순화해 나타낸 도면이다.
도 8a는, 제2 실시 예에 따른 동화상 분배장치가 이용하는 부호량 맵의 일례를 나타내고, 도 8b는 초과 부호량의 할당 방법의 예를 나타낸다.
도 9a 및 도 9b는, 도 8a 및 도 8b에 나타낸 예에 나타낸, 각 부호화 프레임에 복호화 처리를 개시하는 시간에 관한 정보를 부여한 상태의 예를 나타낸다.
도 10a는, ISO 파일 형식(프래그먼트(fragment) 형식)으로 패킷화된 각 부호 화 프레임을 모식적으로 나타내고, 도 10b는 송신 타임 스탬프를 부여한 상태를 모식적으로 나타낸다.
도 11은, 제1 실시 예에 따른 화상 부호화 및 전송 장치가 행한 파일 생성 처리를 설명하는 플로차트이다.
Claims (8)
- 단위시간 당의 발생량이 변화하는 데이터를 전송하는 정보전송장치로서,단위시간마다 각각 발생하는 복수의 데이터를 복수의 기억 데이터 단위로서 기억하도록 구성된 기억부와,미리 결정된 임계값을 넘는 데이터량을 갖는 기억 데이터 단위의 일부인 초과 데이터분을, 상기 기억부에 기억되어 있는 복수의 기억 데이터 단위 중, 데이터량이 상기 미리 결정된 임계값에 도달하지 않는 적어도 하나의 기억 데이터 단위에 분배하도록 구성된 데이터량 제어부와,상기 기억부에 기억된 복수의 데이터를 송신하도록 구성된 송신부를 구비하고,상기 데이터량 제어부는, 상기 초과 데이터분이 분배되어야 하는 기억 데이터 단위의 데이터량과 상기 미리 결정된 임계값 간의 차에 근거한 분배량에 따라 분배하도록 구성되고,상기 송신부가 송신을 하는 전송로의 품질을 검출하도록 구성된 검출부와,상기 검출한 품질에 따라 상기 전송로를 통해서 통신 가능한 데이터 속도를 상기 미리 결정된 임계값으로서 산출하도록 구성된 임계값 결정부를 더 구비한 것을 특징으로 하는 정보전송장치.
- 삭제
- 제 1 항에 있어서,상기 전송로의 대역을 할당하는 외부 장치에 대해, 상기 미리 결정된 임계값에 대응하는 데이터량을 통신하는데 필요한 대역의 할당을 요구하도록 구성된 요구부를 더 구비한 것을 특징으로 하는 정보전송장치.
- 제 1 항에 있어서,상기 송신부는, 상기 복수의 데이터의 각각을 기억 데이터 단위로서 ISO(International Organization for Standardization) 파일 형식으로 변환하고, 그 변환된 파일을 송신 버퍼에 기억하도록 구성된 파일 생성부를 포함하고,상기 송신부는, 상기 송신 버퍼로부터 파일을 판독하고, 그 판독한 파일을 송신하도록 구성된 것을 특징으로 하는 정보전송장치.
- 제 4 항에 있어서,상기 파일 생성부는, 상기 기억 데이터 단위마다 송신 시각을 부가하도록 구성된 것을 특징으로 하는 정보전송장치.
- 제 1 항에 있어서,상기 기억 데이터 단위는, 프레임, 슬라이스, 또는 매크로블록의 단위로 부호화된 화상 데이터인 것을 특징으로 하는 정보전송장치.
- 단위시간 당의 발생량이 변화하는 데이터를 전송하는 정보전송방법으로서,단위시간마다 각각 발생하는 복수의 데이터를 복수의 기억 데이터 단위로서 기억부에 기억하는 스텝과,미리 결정된 임계값을 넘는 데이터량을 갖는 기억 데이터 단위의 일부인 초과 데이터분을, 상기 기억부에 기억되어 있는 복수의 기억 데이터 단위 중, 데이터량이 상기 미리 결정된 임계값에 도달하지 않는 적어도 하나의 기억 데이터 단위에 분배하는 스텝과,상기 기억부에 기억된 복수의 데이터를 송신하는 스텝을 포함하고,상기 초과 데이터분이 분배되는 기억 데이터 단위의 데이터량과 상기 미리 결정된 임계값과의 차에 근거한 분배량에 따라 분배를 수행하고,상기 송신스텝은 송신을 하는 전송로의 품질을 검출하도록 하는 검출스텝과,상기 검출한 품질에 따라 상기 전송로를 통해서 통신 가능한 데이터 속도를 상기 미리 결정된 임계값으로서 산출하도록 하는 임계값 결정스텝을 더 포함한 것을 특징으로 하는 정보전송방법.
- 단위시간 당의 발생량이 변화하는 데이터를 전송하는 정보전송방법을 컴퓨터에 실행시키는 프로그램을 컴퓨터 판독가능하게 기억한 기억매체로서, 상기 프로그램은,단위시간마다 각각 발생하는 복수의 데이터를 복수의 기억 데이터 단위로서 기억부에 기억하는 스텝과,미리 결정된 임계값을 넘는 데이터량을 갖는 기억 데이터 단위의 일부인 초과 데이터분을, 상기 기억부에 기억되어 있는 복수의 기억 데이터 단위 중, 데이터량이 상기 미리 결정된 임계값에 도달하지 않는 적어도 하나의 기억 데이터 단위에 분배하는 스텝과,상기 기억부에 기억된 복수의 데이터를 송신하는 스텝을 포함하고,상기 초과 데이터분이 분배되는 기억 데이터 단위의 데이터량과 상기 미리 결정된 임계값과의 차에 근거한 분배량에 따라 분배를 수행하고,상기 송신스텝은 송신을 하는 전송로의 품질을 검출하도록 하는 검출스텝과,상기 검출한 품질에 따라 상기 전송로를 통해서 통신 가능한 데이터 속도를 상기 미리 결정된 임계값으로서 산출하도록 하는 임계값 결정스텝을 더 포함한 것을 특징으로 하는 기억매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006111360A JP4994698B2 (ja) | 2006-04-13 | 2006-04-13 | 情報伝送装置及び情報伝送方法 |
JPJP-P-2006-111360 | 2006-04-13 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20070032217A Division KR100883811B1 (ko) | 2006-04-13 | 2007-04-02 | 정보 전송 장치 및 정보 전송 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080103483A KR20080103483A (ko) | 2008-11-27 |
KR100920195B1 true KR100920195B1 (ko) | 2009-10-06 |
Family
ID=38255311
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20070032217A KR100883811B1 (ko) | 2006-04-13 | 2007-04-02 | 정보 전송 장치 및 정보 전송 방법 |
KR1020080101418A KR100920195B1 (ko) | 2006-04-13 | 2008-10-16 | 정보 전송 장치 및 정보 전송 방법 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20070032217A KR100883811B1 (ko) | 2006-04-13 | 2007-04-02 | 정보 전송 장치 및 정보 전송 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8923410B2 (ko) |
EP (1) | EP1845690B1 (ko) |
JP (1) | JP4994698B2 (ko) |
KR (2) | KR100883811B1 (ko) |
CN (1) | CN100559876C (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5236332B2 (ja) * | 2008-03-28 | 2013-07-17 | アイベックステクノロジー株式会社 | 符号化装置、符号化方法および符号化プログラム |
EP2107811A1 (en) * | 2008-03-31 | 2009-10-07 | British Telecmmunications public limited campany | Encoder |
EP2129130A1 (fr) * | 2008-05-26 | 2009-12-02 | THOMSON Licensing | Procédé de transmission simplifié d'un flux de signaux entre un émetteur et un appareil électronique |
US9380091B2 (en) | 2012-06-12 | 2016-06-28 | Wi-Lan Labs, Inc. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network |
JP5199219B2 (ja) * | 2009-11-17 | 2013-05-15 | 株式会社日立国際電気 | デジタル放送装置、デジタル放送方法、および、デジタル放送プログラム |
CN102783167B (zh) | 2010-03-05 | 2015-10-14 | 三星电子株式会社 | 基于文件格式生成和再现自适应流的方法和装置 |
JP6184408B2 (ja) * | 2011-08-12 | 2017-08-23 | サムスン エレクトロニクス カンパニー リミテッド | 受信装置及びその受信方法 |
US9772958B2 (en) * | 2011-10-31 | 2017-09-26 | Hewlett Packard Enterprise Development Lp | Methods and apparatus to control generation of memory access requests |
KR102181776B1 (ko) | 2012-06-05 | 2020-11-24 | 삼성전자주식회사 | 범용 디바이스에서의 파일 송/수신 장치 및 방법 |
US10063606B2 (en) | 2012-06-12 | 2018-08-28 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network |
JP5947641B2 (ja) * | 2012-07-06 | 2016-07-06 | キヤノン株式会社 | 動画像符号化装置及びその制御方法、コンピュータプログラム |
TWI505699B (zh) * | 2012-11-23 | 2015-10-21 | Inst Information Industry | 資料串流傳輸方法 |
JP6801539B2 (ja) * | 2017-03-17 | 2020-12-16 | 株式会社リコー | 情報処理システム、情報処理装置、情報処理プログラム及び情報処理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980074045A (ko) * | 1997-03-21 | 1998-11-05 | 윤종용 | 가변 블럭 기반 색도 상관성을 이용한 영상 부호화 방법 |
KR19990058270A (ko) * | 1997-12-30 | 1999-07-15 | 김덕중 | 비동기 전송 모드 수신 시스템의 메모리 할당 방법 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2675130B2 (ja) * | 1989-03-29 | 1997-11-12 | 株式会社日立製作所 | 画像データ転送再生方法および転送再生装置 |
US5473569A (en) * | 1994-08-01 | 1995-12-05 | Motorola, Inc. | Method for operating a flash memory |
JP3156705B1 (ja) * | 1995-06-14 | 2001-04-16 | 松下電器産業株式会社 | データ送信方法 |
JPH09149066A (ja) * | 1995-11-21 | 1997-06-06 | Hitachi Cable Ltd | スイッチングハブ |
US6115420A (en) * | 1997-03-14 | 2000-09-05 | Microsoft Corporation | Digital video signal encoder and encoding method |
GB2324668A (en) * | 1997-04-21 | 1998-10-28 | Racal Communications Syst Ltd | Error resilient video processing technique |
KR100266590B1 (ko) * | 1997-12-11 | 2000-09-15 | 구자홍 | 디지탈스틸카메라의화상압축제어방법 |
JP3560217B2 (ja) * | 1998-04-30 | 2004-09-02 | ソニー株式会社 | データ符号化装置、データ符号化方法及びデータ伝送方法 |
JP3147862B2 (ja) | 1998-07-08 | 2001-03-19 | 日本電気株式会社 | 複数オンライン制御プログラムのトレース採取方法 |
JP4362793B2 (ja) * | 1999-07-05 | 2009-11-11 | 日本ビクター株式会社 | 動画像符号化装置及びその方法 |
US20020080267A1 (en) * | 2000-11-28 | 2002-06-27 | Allan Moluf | High capacity, low-latency multiplexer |
JP4016647B2 (ja) * | 2001-05-17 | 2007-12-05 | 日本電気株式会社 | 移動通信システム、基地局、移動局及びそれらに用いるしきい値設定方法並びにそのプログラム |
JP4432284B2 (ja) * | 2001-06-26 | 2010-03-17 | ソニー株式会社 | 記録装置および方法 |
KR100438069B1 (ko) * | 2001-12-04 | 2004-07-02 | 엘지전자 주식회사 | 이동통신시스템에서의 데이터전송율 설정 방법 |
US7292690B2 (en) * | 2002-01-02 | 2007-11-06 | Sony Corporation | Video scene change detection |
KR20040020638A (ko) * | 2002-08-31 | 2004-03-09 | 삼성전자주식회사 | 무선 채널 특성을 반영한 동적 패킷 세그먼트 임계치관리방법 |
US7957486B2 (en) * | 2002-09-30 | 2011-06-07 | Intel Corporation | Transmission link adaptation |
JP4110521B2 (ja) * | 2002-11-21 | 2008-07-02 | ソニー株式会社 | 情報処理システムおよび方法、情報処理装置および方法、プログラム、並びにデータ構造 |
WO2004110069A1 (en) * | 2003-06-06 | 2004-12-16 | Koninklijke Philips Electronics N.V. | Video compression |
JP2005191933A (ja) * | 2003-12-25 | 2005-07-14 | Funai Electric Co Ltd | 送信装置、送受信システム |
EP1985053A4 (en) * | 2006-02-07 | 2012-04-25 | Ericsson Telefon Ab L M | ARRANGEMENT AND METHOD FOR ADVANCED CONTROL PANEL SIGNALING IN A QUICK PACKAGE DATA TRANSMISSION |
-
2006
- 2006-04-13 JP JP2006111360A patent/JP4994698B2/ja not_active Expired - Fee Related
-
2007
- 2007-03-21 US US11/689,338 patent/US8923410B2/en not_active Expired - Fee Related
- 2007-04-02 KR KR20070032217A patent/KR100883811B1/ko active IP Right Grant
- 2007-04-13 EP EP07106115.4A patent/EP1845690B1/en active Active
- 2007-04-13 CN CNB2007100982128A patent/CN100559876C/zh not_active Expired - Fee Related
-
2008
- 2008-10-16 KR KR1020080101418A patent/KR100920195B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980074045A (ko) * | 1997-03-21 | 1998-11-05 | 윤종용 | 가변 블럭 기반 색도 상관성을 이용한 영상 부호화 방법 |
KR19990058270A (ko) * | 1997-12-30 | 1999-07-15 | 김덕중 | 비동기 전송 모드 수신 시스템의 메모리 할당 방법 |
Also Published As
Publication number | Publication date |
---|---|
US8923410B2 (en) | 2014-12-30 |
EP1845690B1 (en) | 2018-07-25 |
KR20070102393A (ko) | 2007-10-18 |
JP2007288364A (ja) | 2007-11-01 |
KR100883811B1 (ko) | 2009-02-16 |
KR20080103483A (ko) | 2008-11-27 |
EP1845690A3 (en) | 2016-04-13 |
JP4994698B2 (ja) | 2012-08-08 |
US20070286279A1 (en) | 2007-12-13 |
EP1845690A2 (en) | 2007-10-17 |
CN101056401A (zh) | 2007-10-17 |
CN100559876C (zh) | 2009-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100920195B1 (ko) | 정보 전송 장치 및 정보 전송 방법 | |
US6327421B1 (en) | Multiple speed fast forward/rewind compressed video delivery system | |
JP4508422B2 (ja) | 情報分散システムの可変ビットレ−ト情報を処理する方法および装置 | |
KR101701182B1 (ko) | 청크로 스트리밍된 컨텐츠를 복구하기 위한 방법 | |
KR100999311B1 (ko) | 이미지 또는 비디오 프로세싱을 위한 일반화된 기준디코더를 제공하는 컴퓨터로 구현되는 방법 | |
CN110062257B (zh) | 发送方法以及接收方法 | |
JP5536811B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
US20160286252A1 (en) | Encoding Optimization Using Bitrate Range Comparisons for Encoded Segments | |
EP2759111B1 (en) | Statistical multiplexing of streaming media | |
WO2009096366A1 (ja) | 動画像符号化・復号システム、並びにそれに用いる動画像符号化装置および動画像復号装置 | |
JPH09510070A (ja) | 可変ビットレート圧縮システムのバッファ管理 | |
JP5064305B2 (ja) | ビットレート変換装置及び変換方法 | |
JP2011029936A (ja) | ファイル転送システムおよびファイル転送方法 | |
US10652166B2 (en) | Non-real time adaptive bitrate recording scheduler | |
US6577809B2 (en) | User selectable variable trick mode speed | |
JP6258168B2 (ja) | 配信装置、再生装置および配信システム | |
US6674804B1 (en) | Method for generating a multiplexed sequence of media units | |
US20100272170A1 (en) | Image encoding apparatus, image encoding method and medium on which image encoding program is recorded | |
JPH1141608A (ja) | 画像伝送装置および画像符号化方法および画像符号化装置 | |
JP2001502125A (ja) | データ伝送における又はデータ伝送に関する改良 | |
KR20030017917A (ko) | 화상그룹 기반의 고속재생 지원을 갖는 동적 전송스케줄작성 방법 | |
JP2004363820A (ja) | 動画像符号化装置及び動画像復号化システム | |
JP2000324087A (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: 20120824 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130828 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140826 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160825 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170825 Year of fee payment: 9 |