WO2024034389A1 - Signal processing device, signal processing method, and program - Google Patents

Signal processing device, signal processing method, and program Download PDF

Info

Publication number
WO2024034389A1
WO2024034389A1 PCT/JP2023/027190 JP2023027190W WO2024034389A1 WO 2024034389 A1 WO2024034389 A1 WO 2024034389A1 JP 2023027190 W JP2023027190 W JP 2023027190W WO 2024034389 A1 WO2024034389 A1 WO 2024034389A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
encoded data
data
unit
cutout
Prior art date
Application number
PCT/JP2023/027190
Other languages
French (fr)
Japanese (ja)
Inventor
千智 劔持
祐樹 松村
修一郎 錦織
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2024034389A1 publication Critical patent/WO2024034389A1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Definitions

  • the present technology relates to a signal processing device, a signal processing method, and a program, and particularly relates to a signal processing device, a signal processing method, and a program that can shorten processing delay time for bit rate adjustment of encoded data.
  • the compression ratio that is, the bit rate
  • Patent Document 1 and Patent Document 2 disclose a method of suppressing sound interruptions by adjusting the bit rate in stages according to the status of the communication channel when transmitting audio data.
  • WebRTC Web Real-Time Communication Simulcast is being used as a method for communicating between multiple devices connected via the Internet at the optimal bit rate for each device.
  • the distribution side uploads multiple encoded data encoded at multiple bit rates to a relay server (SFU: Selective Forwarding Unit), and the relay server selects the optimal bit rate according to the communication status with each terminal.
  • SFU Selective Forwarding Unit
  • MCU Multipoint Control Unit
  • a relay server combines and distributes encoded data received from each terminal.
  • a feature of the MCU is that it once decodes multiple pieces of received encoded data, combines it, encodes it again, and transmits it to each terminal. That is, in the MCU, the bit rate is adjusted by re-encoding the decoded data.
  • SVC Scalable Video Coding
  • bit rate adjustments are mainly realized by encoding.
  • the encoded data in order to adjust the bit rate of encoded data, the encoded data must be decoded once and encoded again to achieve the target bit rate, resulting in processing delay time and increased processing load. .
  • the present technology was developed in view of this situation, and is intended to shorten the processing delay time for adjusting the bit rate of encoded data.
  • a signal processing device includes a cutting unit that cuts out one frame of encoded data including header information and main information in a cutting size that is an integral multiple of a cutting unit of N bytes from the beginning of the header information; and a termination processing section that adds a termination identifier to the end of the cutout data cut out by the cutout section.
  • one frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of a cutout unit of N bytes, and then transmitted. Based on the leading bit of the extracted data, the extracted data is decoded while detecting a termination identifier added to the end of the extracted data, and information that cannot be decoded at the time when the termination identifier is detected is decoded as zero. It includes a decoding section.
  • one frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of a cutout unit of N bytes, and the cutout data is A termination identifier is added to the termination.
  • one frame of encoded data including header information and main information is cut out and transmitted in a cutout size that is an integral multiple of a cutout unit of N bytes from the beginning of the header information. Based on the leading bit of the data, the cut-out data is decoded while detecting a termination identifier added to the end of the cut-out data, and information that cannot be decoded at the time of detecting the termination identifier is decoded as zero.
  • FIG. 1 is a diagram illustrating a configuration example of a real-time communication playback system according to a first embodiment of the present technology.
  • FIG. 2 is a diagram illustrating an example of a format of encoded data according to the present technology.
  • FIG. 3 is a diagram illustrating an example of initial information regarding cutting out encoded data.
  • FIG. 2 is a block diagram showing a configuration example of a transmitter and a receiver. It is a flow chart explaining processing of a transmitter. 6 is a flowchart illustrating the cutout setting process in step S11 of FIG. 5.
  • FIG. It is a flow chart explaining processing of a receiver. 8 is a flowchart illustrating the decoding process in step S56 of FIG. 7.
  • FIG. 2 is a block diagram illustrating a configuration example of a real-time communication playback system according to a second embodiment of the present technology.
  • 3 is a flowchart illustrating main processing of a transmitter.
  • 3 is a flowchart illustrating sub-processing of a transmitter. It is a flow chart explaining processing of a receiver.
  • 13 is a flowchart illustrating the process of writing encoded data in step S158 of FIG. 12.
  • FIG. 13 is a flowchart illustrating the process of writing out remaining encoded data in step S162 of FIG. 12.
  • FIG. FIG. 3 is a block diagram showing a configuration example of a real-time recording communication playback system according to a third embodiment of the present technology.
  • 3 is a flowchart illustrating processing of an encoder.
  • FIG. 12 is a block diagram illustrating a configuration example of a real-time communication system according to a fourth embodiment of the present technology.
  • 1 is a block diagram showing an example of the configuration of a computer.
  • FIG. 1 is a diagram illustrating a configuration example of a real-time communication playback system according to a first embodiment of the present technology.
  • the real-time communication playback system 1 in FIG. 1 is configured to include a transmitter 11 and a receiver 12.
  • the transmitter 11 transmits at least a portion of audio encoded data (hereinafter simply referred to as encoded data) recorded in a storage area (not shown) to the receiver 12.
  • encoded data hereinafter simply referred to as encoded data
  • the receiver 12 receives at least a portion of the encoded data and reproduces it in real time.
  • the communication in the first embodiment may be long-distance communication via the Internet, short-distance communication such as Bluetooth, or intra-device communication.
  • the data to be transmitted may be information such as video, audio, tactile sensation, or vibration
  • the first embodiment will be described using audio data such as music as an example.
  • the transmitter 11 and the receiver 12 are ready to transmit encoded data in the format shown in FIG. 2, which will be described later, and to reproduce it in real time.
  • preparation for real-time playback includes determining the type of audio codec used for communication, the sampling frequency, etc.
  • the format of the encoded data may be determined as one of the specifications of the audio codec in preparation for real-time playback.
  • FIG. 2 is a diagram illustrating an example of the format of encoded data according to the present technology.
  • the encoded data in FIG. 2 is a data string obtained by encoding audio data in units of frames, which are divided by a time length such as 10 milliseconds.
  • the encoded data of each frame is composed of header information, sub information, and main information.
  • the header information includes, for example, information indicating the data size of the frame (hereinafter referred to as frame size) and sampling frequency.
  • the sub-information includes, for example, outline information of the signal to be restored.
  • the general shape information of the signal to be restored is information that allows the general shape of the audio data to be restored or estimated. For example, information for restoring the time waveform envelope or frequency spectrum envelope of the audio data, or information for restoring the time waveform envelope or frequency spectrum envelope of the audio data, or This is information such as the scale factor of the frequency band.
  • the main information includes information for restoring the fine structure of the audio data, which is the signal to be restored, such as an encoded time waveform signal and a signal for each frequency bin.
  • information is arranged in the main information in descending order of importance.
  • the main information is audio data
  • audio information is arranged from low-frequency audio information with high importance to high-frequency audio information.
  • the main information is hierarchically encoded information such as SVC
  • the hierarchically encoded information is arranged in order from the first layer information with the highest degree of importance. Note that the information is not limited to the above-mentioned example, but the information may be arranged in descending order of importance, or the information may be arranged in a manner that is not particularly linked to importance. .
  • the sub information and the main information each consist of only information about the frequency spectrum. It may be composed of both information regarding the waveform.
  • encoded data has a feature in which bits with a value of "0" appear at regular intervals.
  • the interval at which bits with a value of "0" appear (hereinafter referred to as the first bit appearance interval) may be predetermined by, for example, a standard.
  • a recording area may be provided for header information, etc., and information regarding the leading bit appearance interval may be included in the recording area and transmitted from the transmitting side to the receiving side.
  • the first bit appearance interval is set to "N" bytes. Note that the unit is not limited to bytes.
  • the first bit appearance interval N bytes is, for example, 20 bytes or 32 bytes. In the following examples, unless otherwise specified, the first bit appearance interval N is described as 32 bytes, but it may take a value other than this.
  • data may be appropriately packed so that the data size is an integral multiple of the leading bit appearance interval N bytes, but in Figure 2, the encoded data when no data is packed at the end An example is shown.
  • the encoded data shown in FIG. 2 is characterized in that it is cut out and used in a size that is an integral multiple of the leading bit appearance interval N bytes.
  • the first bit appearance interval N bytes is always constant, but it may be possible to change it midway.
  • the leading bit appearance interval N bytes may be set to 32 bytes for the first 1 to 128 bytes, and 64 bytes for the next 129 to 256 bytes. Note that if the leading bit appearance interval N bytes can be changed midway, for example, the leading bit appearance interval N bytes is predefined in a standard, or the leading bit appearance interval N bytes is recorded in the header information. It may also be transmitted together with encoded data.
  • FIG. 3 is a diagram illustrating an example of initial information regarding cutting out encoded data.
  • FIG. 3 as an example of initial information regarding the extraction of encoded data, the extraction unit and the maximum size and minimum size at the time of extraction are shown.
  • the minimum extraction size is an integral multiple of the extraction unit, and is the minimum size that includes all header information and sub information.
  • the maximum extraction size is an integral multiple of the extraction unit, and is the minimum size that includes all encoded data of one frame. In the case of FIG. 3, the minimum size is 2N bytes and the maximum size is 6N bytes.
  • FIG. 4 is a block diagram showing a configuration example of the transmitter 11 and receiver 12 in FIG. 1.
  • the transmitter 11 Upon receiving the playback start instruction, the transmitter 11 generates cutout setting information, which will be described later, and cuts out encoded data (cutout data) to be transmitted to the receiver 12 from one frame of encoded data according to the cutout setting information. , performs termination processing on the cut out encoded data.
  • the transmitter 11 collects the terminated encoded data into a data chunk to be transmitted at once (that is, encoded data in the format shown in FIG. 2), and transmits the data to the receiver 12.
  • the transmitter 11 in FIG. 4 is configured to include a cutout setting determination section 21, an encoded data cutout section 22, a termination processing section 23, a transmission data configuration section 24, and a transmission processing section 25.
  • the cutout setting determination unit 21 obtains information necessary for determining cutout setting information in advance from a receiving system (not shown), and determines the range of setting values that can be taken in the current playback.
  • the cutout setting determining unit 21 adjusts the cutout setting information based on information such as the communication status that is intermittently received from the reception system, and sends the adjusted cutout setting information to the encoded data cutout unit 22. and is output to the transmission data configuration section 24.
  • the cutout setting information is configured to include, for example, the cutout size of encoded data Cut SZ and the number F NUM of frames (frames collected into one packet) to be transmitted in one communication.
  • the pair of frame number and cutout size will be expressed as ⁇ F NUM , Cut SZ >.
  • the information that the cutout setting determination unit 21 receives in advance includes, for example, the maximum data size to be transmitted in one communication, information on the type and size of packets used for communication, the number of frames that can be combined into one packet, and the permissible number of frames. There is information such as a delay time, default cutout setting information, and cutout specifications regarding encoded data to be reproduced (for example, initial information regarding cutout in FIG. 3).
  • the range of setting values that the cutout setting information can take is determined based on information received in advance. For example, if the packet size is 200 bytes and the number of frames that can be combined into one packet is 3, if N is 32 bytes, then ⁇ 1, 2N to 6N (2N, 3N, 4N, 5N, 6N )>, ⁇ 2, 2N and 3N>, ⁇ 3, 2N>. When the packet size is 150 bytes and the number of frames that can be combined into one packet is 3, the calculations are ⁇ 1, 2N to 4N> and ⁇ 2, 2N>.
  • the cutout setting information is determined by analyzing trends in information such as the communication status of the network, the processing load of the transmitter 11, and resource availability information of the receiver 12, and is adaptively determined based on the analysis results. Alternatively, the cutout setting information is determined according to settings selected by the user.
  • cutout setting information For example, default cutout setting information is used for the first cutout setting information, and subsequent cutout setting information is determined based on the estimated communication situation.
  • the amount of data waiting to be sent in the transmission processing unit 25 For example, if all of them show high values, it is assumed that the communication situation is poor. If only the retransmission rate shows a high value, it is presumed that the communication situation is deteriorating. If only the data quantity shows a high value, it is presumed that the communication situation is improving. If all of them show low values, it is assumed that the communication status is good.
  • the estimating time from observing the communication status to estimating it may always be constant. For example, the estimation time for estimating a worsening trend or bad is set short, and the estimating time for estimating an improving trend or good is set long. good.
  • the processing load of the transmitter 11 is estimated by referring to, for example, the CPU (Central Processing Unit) usage rate, the remaining battery level, etc. Therefore, the cutout setting information is adaptively determined based on the CPU usage rate, remaining battery level, and the like.
  • the CPU Central Processing Unit
  • the extraction setting information may be set to increase the number of frames transmitted at one time, or the F NUM of the selectable extraction setting information may be set. For example, restrictions may be placed on the cutout setting information, such as limiting the number to 3 or more. Note that cutout setting information for reducing power consumption may be prepared separately.
  • the cutout setting information is determined to lower the bit rate and increase the number of retransmissions.
  • the cutout setting information is determined to increase the bit rate.
  • the cutout setting information is updated to ⁇ 2, 3N>. Conversely, if it is determined that the communication situation is good, the cutout setting information is updated to ⁇ 1, 5N>.
  • the encoded data cutout section 22 reads only the encoded data corresponding to Cut SZ of the cutout setting information supplied from the cutout setting determination section 21 out of the encoded data of one frame from the storage area, and sends it to the termination processing section 23. Output. That is, in the first embodiment, encoded data other than the encoded data corresponding to Cut SZ of the cutout setting information is not read out or transmitted to the receiver 12.
  • the termination processing unit 23 adds a termination identifier, which is, for example, 1-byte data in which all bits are 1, to the encoded data (cutout data) supplied from the encoded data extraction unit 22, and adds the termination identifier to the encoded data (cutout data) supplied from the encoded data extraction unit 22. Output to 24.
  • a termination identifier which is, for example, 1-byte data in which all bits are 1, to the encoded data (cutout data) supplied from the encoded data extraction unit 22, and adds the termination identifier to the encoded data (cutout data) supplied from the encoded data extraction unit 22.
  • the transmission data configuration unit 24 temporarily holds the encoded data supplied from the termination processing unit 23 until the number of encoded data equal to F NUM of the extraction setting information supplied from the extraction setting determination unit 21, and When the number reaches , the data are collectively output to the transmission processing section 25.
  • F NUM and Cut SZ may be updated midway through, the timing of supplying them to the transmission processing unit 25 is changed depending on the updated contents. For example, when F NUM is 1, the transmission data configuration section 24 immediately outputs the encoded data to the transmission processing section 25. When F NUM is 2, the transmission data configuration section 24 receives two frames of encoded data, concatenates the two frames of encoded data into one, and outputs it to the transmission processing section 25 .
  • the transmission data configuration unit 24 updates the stored encoded data.
  • the data is immediately output to the transmission processing unit 25, and preparation of encoded data with F NUM of 2 is newly started.
  • F NUM of 3 is updated to 4, and the coded data that was prepared with F NUM of 3 is retained, and the coded data to be newly concatenated is changed to the prepared coded data.
  • the packet size may exceed the size.
  • the transmission data configuration unit 24 immediately outputs the encoded data it holds to the transmission processing unit 25, and newly starts preparing encoded data with F NUM of 4.
  • the transmission data configuration unit 24 continues preparation until F NUM reaches 4, and outputs the encoded data to the transmission processing unit 25 at the timing when F NUM reaches 4.
  • the encoded data chunk supplied to the transmission processing section 25 is transmitted to the receiver 12.
  • the receiver 12 When the receiver 12 receives a chunk of encoded data from the transmitter 11, it stores it in a temporary storage area (hereinafter referred to as a reception buffer) not shown. When a certain number of stored encoded data or a certain data size are accumulated, the receiver 12 reads one frame of encoded data from the reception buffer, decodes it, dequantizes it, synthesizes audio data, It is reproduced by a speaker or the like using an output system (not shown).
  • a reception buffer a temporary storage area
  • the receiver 12 in FIG. 4 is configured to include a bitstream reading section 31, a decoding section 32, a dequantizing section 33, and a signal combining section 34.
  • the frame size of one original frame (data size before cutting out) is recorded.
  • the data size after extraction may be included in the header information.
  • a reading method when the data size after extraction is not included in the header information will be explained.
  • encoded data is characterized in that a bit with a value of "0" appears every N bytes in the cutout unit (first bit appearance interval). Furthermore, due to the termination process after the extraction, a termination identifier with a value of "1" is added to the first bit (hereinafter also referred to as the beginning bit) of the encoded data for each extraction unit.
  • the bitstream reading unit 31 determines whether the read data is data within one frame by checking that the first bit is "0" every time N bytes are read. Therefore, when the first bit becomes "1", the bit stream reading unit 31 determines that it is the end identifier, and can read forward to the beginning of the next frame. In this embodiment, since the end identifier is 1 byte, the next byte becomes the beginning of the next frame.
  • first bit of the extraction unit and the first bit of the terminal identifier can be distinguished, and the value of the first bit of the extraction unit may be set to "1" and the value of the first bit of the terminal identifier may be set to "0". Further, both the first bit of the extraction unit and the first bit of the terminal identifier may take values or symbols other than "0" or "1".
  • the decoding unit 32 decodes the encoded data supplied from the bitstream reading unit 31 while skipping bits with a value of “0” at every leading bit appearance interval N, and generates a decoded signal and decoded range information ( Thereafter, the decoding range information) is output to the inverse quantization unit 33.
  • the decoding unit 32 processes information that can be correctly decoded within the data size range supplied from the bitstream reading unit 31, and outputs, for example, zero for the remaining information that cannot be decoded.
  • the decoding unit 32 detects that the number of bits necessary for decoding is insufficient. It is determined that there is no such value, and zero is output from then on. For example, when the 100th frequency spectrum is decoded, 100 is output as the decoding range information.
  • the dequantization unit 33 dequantizes the decoded signal supplied from the decoding unit 32, and generates a frequency spectrum obtained by dequantization and sub-information such as supplied decoding range information and Scale Factor of each frequency band. and is output to the signal synthesis section 34.
  • Inverse quantization is, for example, a process of returning the value of the supplied frequency spectrum using Scale Factor information of each frequency band. For example, if the Scale Factor is 128 and the decoded signal is 0.75, the value after dequantization, that is, the value of the original frequency spectrum, is calculated as 96, which is the sum of these values.
  • the signal synthesis unit 34 synthesizes the audio signal using sub-information such as decoding range information and frequency band Scale Factor information supplied from the dequantization unit 33, and the frequency spectrum, and synthesizes the audio signal to a subsequent processing block (not shown). Output to.
  • the subsequent processing block performs audio signal processing such as equalization on the supplied audio signal, and reproduces it through a speaker or the like.
  • the audio signal is synthesized by interpolating the frequency spectrum that is not included in the decoding range information and then performing frequency-time conversion. Interpolation in the frequency domain can be performed using, for example, the Scale Factor information of a frequency band that is not included in the decoding range information, the decoded frequency spectrum, and the Scale Factor information of the frequency band that includes this frequency spectrum. This is done by multiplying the frequency spectrum by a ratio.
  • a frequency spectrum that is not included in the decoding range information may be estimated from previously decoded information using AI (Artificial Intelligence) learned in advance. As described above, the currently decrypted information and previously decrypted information may be used together.
  • AI Artificial Intelligence
  • the information to be sent is related to the frequency spectrum, so an example of interpolation in the frequency domain is shown, but information related to the time waveform may also be sent. Can be done. For example, when transmitting envelope waveform information after band-dividing a time waveform, interpolation may be additionally performed after frequency-time conversion.
  • FIG. 5 is a flowchart illustrating the processing of the transmitter 11.
  • the process shown in FIG. 5 is activated intermittently, and the number of frames according to the activation time interval is processed.
  • playback of encoded data in which one frame is 10 ms is started, and the processing shown in FIG. 5 is started at approximately 50 ms intervals such as 0 ms, 48 ms, 105 ms, and 140 ms. In this case, five frames are processed at each startup.
  • the prepared encoded data in the figure is data used by the encoded data cutout section 22, and is cleared to 0 at the start of reproduction.
  • step S11 of FIG. 5 the cutout setting determination unit 21 performs cutout setting determination processing.
  • the cutout setting determination process will be described later with reference to FIG. Through the process in step S11, ⁇ F NUM , Cut SZ > is calculated.
  • step S12 the encoded data cutting unit 22 determines whether or not the prepared encoded data plus the encoded data calculated for Cut SZ fits within the maximum transmission size for one time. Note that “+1” in the figure indicates the data size of "0xFF" added in the termination process.
  • step S12 If it is determined in step S12 that the prepared encoded data plus the calculated Cut SZ worth of encoded data fits within the maximum transmission size for one time, the process proceeds to step S13.
  • step S13 the encoded data cutting unit 22 reads the encoded data for the calculated Cut SZ from the beginning of the frame and writes it to the end of the prepared encoded data.
  • step S14 the termination processing unit 23 writes "0xFF" to the end of the prepared encoded data.
  • step S15 the transmission data configuration unit 24 determines whether the number of prepared frames, which is the number of frames written in the prepared encoded data, is less than the calculated F NUM .
  • step S15 If it is determined in step S15 that the number of prepared frames is not less than the calculated F NUM , that is, if it is determined that the number of prepared frames has reached the calculated F NUM , the process proceeds to step S16. Proceed to.
  • step S12 determines whether the coded data calculated for Cut SZ added to the prepared coded data does not fit within the maximum transmission size for one time.
  • step S16 the transmission data configuration unit 24 outputs the prepared encoded data to the transmission processing unit 25.
  • step S17 the transmission data configuration unit 24 clears the information on the prepared encoded data. After that, the process proceeds to step S18.
  • step S15 determines whether the number of prepared frames is less than the calculated F NUM . If it is determined in step S15 that the number of prepared frames is less than the calculated F NUM , the process also proceeds to step S18.
  • step S18 the transmission data configuration unit 24 determines whether or not the number of frames to be processed has been completed at the current startup timing. If it is determined in step S18 that the amount to be processed has not been completed at the current startup timing, the process returns to step S12, and the subsequent processes are repeated.
  • step S18 if it is determined that the processing to be processed at the current startup timing has been completed, the processing of the transmitter 11 in FIG. 5 ends.
  • FIG. 6 is a flowchart illustrating the extraction setting determination process in step S11 of FIG.
  • step S31 of FIG. 6 the cutout setting determining unit 21 estimates (estimates) the communication status.
  • step S32 the cutout setting determining unit 21 estimates (estimates) the processing load.
  • step S33 the cutout setting determining unit 21 performs a trend analysis.
  • step S34 the cutout setting determining unit 21 determines whether the communication situation is bad or is on a downward trend. If it is determined in step S34 that the communication situation is not bad and that the communication situation is not in a deteriorating trend, the process proceeds to step S35.
  • step S35 the cutout setting determining unit 21 determines whether the processing load is high. If it is determined in step S35 that the processing load is high, the process proceeds to step S36.
  • step S34 determines whether the communication situation is poor or that the communication situation is on the decline. If it is determined in step S34 that the communication situation is poor or that the communication situation is on the decline, the process also proceeds to step S36.
  • step S36 the cutout setting determining unit 21 performs processing to improve the success rate of communication.
  • the number of frames sent in one transmission is increased. This makes it possible to increase the number of retransmissions in the event of failure. That is, when the number of frames sent in one transmission is increased, the transmission interval becomes wider, and by widening the transmission interval, time for retransmission can be acquired. Specifically, if one frame takes 1 second and one transmission takes 0.5 seconds, if the number of frames to be sent at one time is 5, it will be sent at 5 second intervals, which will reduce the retransmission time. is 4.5 seconds, which is obtained by subtracting 0.5 seconds of the first transmission time from 5 seconds, which is 9 times when converted to the number of times. If this is increased by one frame, it will be possible to retransmit for 5.5 seconds, which will be 11 times when converted to the number of retransmissions.
  • step S37 the cutting setting determining unit 21 sets Cut SZ based on the calculated F NUM .
  • Cut SZ > calculated during the initialization described above is ⁇ 1, 2N to 6N>, ⁇ 2, 2N or 3N>, ⁇ 3, 2N>, F NUM_MIN is 1, F NUM_MAX becomes 3.
  • F NUM is 2N
  • Cut SZ_MIN is 2N
  • Cut SZ_MAX is 3N.
  • step S37 the cutout setting determination process in FIG. 6 ends.
  • step S35 determines whether the processing load is low. If it is determined in step S35 that the processing load is low, the process proceeds to step S38.
  • step S38 the cutout setting determining unit 21 determines whether the favorable situation has continued for a specified period of time. If it is determined in step S38 that the favorable situation has continued for the specified time, the process proceeds to step S39.
  • step S40 the cutout setting determining unit 21 determines whether the calculated Cut SZ exceeds the maximum Cut SZ that can be obtained by the current F NUM , that is, Cut SZ_MAX (Cut SZ > Cut SZ_MAX @F NUM ). .
  • step S40 If it is determined in step S40 that the calculated Cut SZ exceeds the maximum Cut SZ that can be taken by the current F NUM , that is, Cut SZ_MAX , the process proceeds to step S41.
  • step S38 determines whether the favorable situation has not continued for the specified time, or in step S40. If it is determined in step S38 that the favorable situation has not continued for the specified time, or in step S40, the calculated Cut SZ exceeds the maximum Cut SZ possible with the current F NUM , that is, Cut SZ_MAX . Even if it is determined that there is no cutout setting determination process in FIG. 6, the cutout setting determination process in FIG. 6 ends.
  • FIG. 7 is a flowchart illustrating the processing of the receiver 12.
  • step S52 the bitstream reading unit 31 obtains one byte from the received data.
  • step S53 the bitstream reading unit 31 determines whether the first bit is 0 or not. If it is determined in step S53 that the first bit is 0, the process proceeds to step S54.
  • step S54 the bitstream reading unit 31 obtains N-1 bytes from the received data.
  • step S55 the process returns to step S52, and the subsequent processes are repeated.
  • step S53 determines whether the first bit is 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0 or not 0.
  • step S56 the decoding unit 32 performs decoding processing. Details of the decoding process will be described later with reference to FIG.
  • step S57 the dequantization unit 33 performs dequantization processing.
  • step S58 the signal synthesis unit 34 performs waveform synthesis processing. Audio data is synthesized by waveform synthesis processing and output to the subsequent stage. After step S58, the processing of the receiver 12 in FIG. 7 ends.
  • FIG. 8 is a flowchart illustrating the decoding process of step S56 in FIG. 7.
  • step S72 the decoding unit 32 obtains BN Next , which is the number of bits required for the next decoding.
  • BN Next may be a value predefined by the standard, or information indicating the value of BN Next may be recorded in the encoded data, but in this embodiment, the explanation will be simplified. It is assumed that the value is predefined in the standard for the purpose of Further, even if information indicating the value of BN Next is recorded in the encoded data, the same procedure as for reading the bits for BN Next , which will be described later, can be performed.
  • step S73 the decoding unit 32 determines whether or not a cutting unit (N byte boundary) is not crossed when reading the BN Next bits. If it is determined in step S73 that the N byte boundary is not crossed, the process proceeds to step S74.
  • step S74 the decoding unit 32 determines whether or not BN Total will not be exceeded even if the bits corresponding to BN Next are further read out (BN Used +BN Next ⁇ BN Total ). If it is determined in step S74 that the BN Total will not be exceeded even if BN Next bits are further read, the process proceeds to step S75.
  • step S75 the decoding unit 32 actually reads out the bits corresponding to BN Next and decodes one value.
  • step S76 the process proceeds to step S83.
  • step S73 determines whether the N byte boundary is crossed when reading the BN Next bits. If it is determined in step S73 that the N byte boundary is crossed when reading the BN Next bits, the process proceeds to step S77.
  • step S77 the decoding unit 32 determines whether or not BN Total will not be exceeded even if the 1 bit of 0 that appears every N bytes is further read out in addition to the bits for BN Next (BN Used +BN Next +1 ⁇ BN Total ).
  • step S77 If it is determined in step S77 that the BN Total is not exceeded, the process proceeds to step S78.
  • step S78 the decoding unit 32 calculates the number of bits up to the N-byte boundary (BN Read ).
  • the calculation is performed, for example, by finding the maximum value that does not exceed BN Used + BN Next as a multiple of N*8, and taking the difference from BN Used , as shown in the following equation (1).
  • step S79 the decoding unit 32 reads out the calculated bits of BN Read .
  • step S80 the decoding unit 32 skips 1 bit in order to skip "0" appearing on the N-byte boundary.
  • step S81 the decoding unit 32 further reads the remaining necessary bits BN Next - BN Read .
  • step S83 the decoding unit 32 determines whether decoding of all values has been completed. If it is determined in step S83 that the decoding of all values has not been completed yet, the process returns to step S72 and the subsequent processes are repeated.
  • step S83 If it is determined in step S83 that decoding of all values has been completed, the process proceeds to step S84.
  • step S77 determines whether BN Total is exceeded. If it is determined in step S77 that BN Total is exceeded, the process also proceeds to step S84.
  • step S84 the decoding unit 32 zero-clears the remaining information that could not be decoded. After step S84, the decoding process in FIG. 8 ends.
  • bit rate adjustment (change) can be realized by cutting out encoded data.
  • FIG. 9 is a diagram illustrating a configuration example of a real-time communication playback system according to the second embodiment of the present technology.
  • the encoded data that remained after the extraction (that is, the untransmitted encoded data) was not transmitted and remained as it was, but in the case of the second embodiment, the In this case, the encoded data remaining after the extraction is transmitted using the idle communication time.
  • the encoded data is played back in real time and recorded, so that it can be played back later, and the recorded encoded data also includes communication free space.
  • the encoded data that remains after being cut out is added (integrated), and is transmitted using time.
  • the real-time communication playback system 101 in FIG. 9 is configured to include a transmitter 111 and a receiver 112.
  • the transmitter 111 transmits to the receiver 112 at least part of the encoded data in the format shown in FIG. 2, which is recorded in advance in the storage area.
  • the transmitter 111 utilizes the idle communication time to transmit the remaining encoded data, which is the encoded data that remains after cutting out, if there is encoded data that has not been transmitted (hereinafter referred to as untransmitted encoded data). and transmits it to the receiver 112.
  • the transmitter 111 upon receiving a playback start instruction, the transmitter 111 generates cutout setting information, and according to this information, cuts out one frame's worth of encoded data, performs termination processing, and divides the data to be transmitted at once.
  • the information is collected into chunks and output to the transmission processing section 25. At this time, information on the encoded data that has been extracted and terminated is saved as transmission history information.
  • the transmitter 111 refers to the transmission history information and configures the remaining encoded data based on the untransmitted encoded data, for example, while playback is stopped or during a gap between main data communication, and the receiver 112 Send to.
  • the transmitter 111 finds that the transmission of encoded data could not be completed due to a communication error or the like, it updates the history of the corresponding frame in the transmission history information and indicates that the encoded data that could be transmitted is 0. Leave a history of what happened. This is to retransmit all the data even if only a portion of the data is successful, but it is also possible to leave a history of failures in transmission and retransmit only the portions that could not be transmitted.
  • the receiver 112 receives at least a portion of the encoded data and records it while playing it in real time. Further, the receiver 112 receives the remaining encoded data transmitted using the idle communication time, and records the received remaining encoded data in addition to the recorded encoded data. Thereby, the quality of the recorded content can be kept higher.
  • the receiver 112 upon receiving data transmitted from the transmitter 111 (hereinafter referred to as received data), the receiver 112 determines whether it is residual encoded data, and determines whether it is residual encoded data or not. If it is data, the encoded data is stored in the reception buffer. The receiver 112 reads out one frame's worth of encoded data from a reception buffer (temporary storage area) when a certain number of stored encoded data or a certain data size has been accumulated. Then, the receiver 112 records the encoded data in the storage area, simultaneously decodes, dequantizes, and synthesizes the audio data, and reproduces the data through a speaker or the like through an output system.
  • a reception buffer temporary storage area
  • the receiver 112 records it in addition to the encoded data recorded in the storage area.
  • the storage area for recording encoded data is, for example, a long-term recording device such as a hard disk drive. That is, after that, the user can reproduce the encoded data at a desired timing without receiving the encoded data again from the transmitter 111.
  • the transmitter 111 in FIG. 9 has the following points: the encoded data extraction unit 22 is replaced with an encoded data extraction unit 121, and an untransmitted encoded data information storage unit 122 and a remaining encoded data configuration unit 123 are added. However, it is different from the transmitter 11 in FIG.
  • the transmitter 111 includes an extraction setting determining section 21, a termination processing section 23, a transmission data configuration section 24, an encoded data extraction section 121, an untransmitted encoded data information storage section 122, and a remaining encoded data configuration section 123. Constructed to include.
  • the encoded data cutout section 121 reads only the encoded data corresponding to Cut SZ of the cutout setting information supplied from the cutout setting determination section 21 out of the encoded data of one frame from the storage area.
  • the encoded data cutting unit 121 outputs the read encoded data and the content ID, which is index information that can uniquely identify the read-out file, to the termination processing unit 23, and at the same time outputs the content ID, frame number, and Cut data. SZ is output to the untransmitted encoded data information storage section 122. Note that one content ID corresponds to one or more frame numbers.
  • the untransmitted encoded data information storage unit 122 stores the supplied frame number and Cut SZ as a pair in a storage area (not shown) as transmission history information.
  • the transmission history information is recorded, for example, in a list format so that it can be added for each content ID.
  • the untransmitted encoded data information storage unit 122 records the transmission history information in a format that includes at least the frame number and Cut SZ in the elements of the list.
  • the remaining encoded data configuration unit 123 starts up intermittently, refers to the above-mentioned transmission history information, and when there is untransmitted encoded data and the main data communication is not being performed, for example, when playback is stopped.
  • the remaining encoded data is generated during a gap time between main data communication and the like, and the remaining encoded data is output to the transmission processing section 25.
  • the remaining encoded data configuration unit 123 first refers to, for example, the oldest transmission history information, and reads out the encoded data of the portion larger than Cut SZ of the encoded data of the corresponding frame number.
  • the read size is changed according to the communication situation. For example, the read size is set to N bytes in the gap time of main data communication, and is set to the size up to the end of the frame if playback is stopped.
  • the remaining encoded data configuration unit 123 adds header information that can be distinguished from the transmission data configured by the transmission data configuration unit 24 to the read encoded data, content ID, frame number, and read position information (how many N bytes). , and the read size, configure and transmit the remaining encoded data. At the same time, the remaining encoded data configuration unit 123 also updates transmission history information.
  • a value predetermined by the standard such as a 1-byte data string in which the first bit is 1, such as 0xFF, is used as header information for distinguishing between transmission data and remaining encoded data.
  • Cut SZ of frame number 10 is initially 3N bytes
  • Cut SZ of frame number 10 is updated. is updated to 4N bytes.
  • all the encoded information has been successfully sent, in order to easily determine this, for example, set Cut SZ of the relevant frame number to -1 or delete the transmission history information of the relevant frame number. You may also do this.
  • the remaining encoded data configuration unit 123 also records transmission history information in a list format, and, for example, moves the updated history to the end of the list and transmits frames in which all untransmitted encoded data has been transmitted.
  • the update rule is to delete history information from the list.
  • the residual encoded data configuration unit 123 transmits the 10th frame number by N bytes, the 11th frame number by N bytes, and so on in order in minimum units, so that the remaining encoded data is averaged for all frames. Data can be sent.
  • N bytes of data are sent for each frame.
  • the size of the remaining encoded data to be transmitted is also sent together.
  • the second embodiment has a configuration with one receiver, a configuration with a plurality of receivers may be used, and in this case, transmission history information may be saved for each receiver.
  • the receiver 112 in FIG. 9 differs from the receiver 12 in FIG. 4 in that a received data sorting section 131 and a bitstream writing section 132 are added.
  • the received data sorting unit 131 analyzes the header information of the received data, determines whether it is residual encoded data, and if it is residual encoded data, outputs it as is to the bitstream writing unit 132. If the received data is not the remaining encoded data, the received data sorting unit 131 stores it in the reception buffer.
  • the received data sorting unit 131 determines whether the first 1 byte of the received data matches 0xFF. If they match, the received data sorting section 131 outputs the received data to the bitstream writing section 132 as residual encoded data.
  • the bitstream writing unit 132 writes one frame of encoded data supplied from the bitstream reading unit 31 and the remaining encoded data supplied from the received data sorting unit 131 to the storage area.
  • bitstream writing unit 132 extracts the relevant frame at the writing destination. Secure the previous size and export.
  • bitstream writing unit 132 obtains the frame size before cutting out from the header information of the encoded data, and writes out one frame's worth of encoded data that is initially supplied.
  • bitstream writing unit 132 writes 0xFF until the written data size reaches the acquired frame size.
  • the bitstream writing unit 132 secures an area of 330 bytes. Then, the supplied encoded data is recorded in the first 192 bytes, and the remaining 138 bytes are filled with 0xFF.
  • encoded data with the same content ID are written to the same file, and when the content IDs are different, encoded data are written to different files.
  • the writing start position is the end of the file when encoded data arrives consecutively.
  • the bitstream writing unit 132 secures an area of the maximum size specified by the encoding method at the position of the missing frame number, and then After that, write out the received encoded data.
  • the information written in the missing frame number position may, for example, be all 0xFF, or it may be possible to write dedicated header information consisting of the frame size and information indicating that frame interpolation is necessary, and then write the rest as 0xFF. It's okay.
  • To write the remaining encoded data first detect the encoded data of the frame with the frame number corresponding to the content ID sent with the remaining encoded data, and then look at the first bit every N bytes. , 1 appears, and overwrites the last detected location with the remaining encoded data.
  • the bitstream writing unit 132 records the data in the storage area corresponding to the frame number. Open the content file with the specified content ID, that is, the file in which encoded data is recorded. Then, in the opened file, the bitstream writing unit 132 moves to the beginning of the encoded data of the 10th frame, reads the first bit every N bytes from this first address, detects the address where 1 appears, and detects Overwrite the rest of the encoded data starting at the position where it was, and save the file.
  • N bytes for the remaining encoded data are written, and 7N bytes of encoded data are written to the storage area. become.
  • the quality of the recorded content can be improved without the user knowing.
  • FIG. 10 is a flowchart illustrating the main processing of the transmitter 111.
  • steps S111 to S113 and S115 to S119 in FIG. 10 are the same as the processes in steps S11 to S18 in FIG. 5, so the description thereof will be omitted.
  • step S113 the encoded data cutting unit 121 reads the encoded data corresponding to the calculated Cut SZ .
  • the encoded data cutting section 121 outputs the content ID to the termination processing section 23 and at the same time outputs the content ID, frame number, and Cut SZ to the untransmitted encoded data information storage section 122.
  • step S114 the untransmitted encoded data information storage unit 122 pairs the frame number and Cut SZ supplied from the encoded data cutout unit 121 and records them in the transmission history information.
  • FIG. 11 is a flowchart illustrating sub-processing of the transmitter 111.
  • the sub-processing in FIG. 11 is a process that is intermittently executed by the residual encoded data configuration unit 123 in the transmitter 111 of the second embodiment in parallel with the main processing in FIG. 10.
  • step S131 the remaining encoded data configuration unit 123 determines whether there is transmission history information. If it is determined in step S131 that there is transmission history information, the process proceeds to step S132.
  • step S132 the remaining encoded data configuration unit 123 opens the encoded data file corresponding to the content ID of the transmission history information.
  • step S133 the remaining encoded data configuration unit 123 acquires the oldest information (frame number, etc.) in the transmission history information. For example, if the information is recorded in a list format, the information at the head of the list is acquired.
  • step S134 the remaining encoded data configuration unit 123 moves the file pointer to the beginning of the frame with the acquired frame number in the opened file, and acquires the frame size from the header.
  • step S135 the remaining encoded data configuration unit 123 refers to the size of the remaining encoded data, which is untransmitted encoded data, and determines the read size.
  • step S136 the remaining encoded data configuration unit 123 moves the file pointer by the transmitted data size in the opened file.
  • the remaining encoded data configuration unit 123 moves the file pointer to the position where it is actually read. For example, if the transmitted size obtained from the transmission history information is 6N, the remaining encoded data configuration unit 123 moves the file pointer to the position where it is actually read. Read forward 6N bytes at the position.
  • step S137 the remaining encoded data configuration unit 123 reads encoded data from the moved file pointer position in the opened file by the readout size calculated in step S135.
  • step S138 the remaining encoded data configuration unit 123 updates the transmission history information. For example, the contents of the data in the list referenced in step S133 are updated.
  • step S139 the remaining encoded data configuration unit 123 determines whether or not the amount to be processed in the current execution has been completed.
  • the amount to be processed in the current execution may be predetermined as, for example, one frame or five frames in one process. Also, the amount processed in this execution depends on the playback status, for example, if the playback is in progress, only N bytes of remaining encoded data of one frame will be sent in one process, and if the playback is stopped, the remaining encoded data will be sent. , may be dynamically determined, such as sending all the remaining encoded data of one frame, or sending N bytes of remaining encoded data for 10 frames.
  • step S139 If it is determined in step S139 that the portion to be processed in the current execution has not been completed, the process returns to step S133, and the subsequent processes are repeated.
  • step S139 If it is determined in step S139 that the content to be processed in the current execution has been completed, the process proceeds to step S140.
  • step S140 the remaining encoded data configuration unit 123 closes the file. After step S140, the sub-processing in FIG. 11 ends.
  • step S131 Even if it is determined in step S131 that there is no transmission history information, the sub-processing in FIG. 11 ends.
  • FIG. 12 is a flowchart illustrating the processing of the receiver 112.
  • steps S151, S152, S154 to S156, and S159 to S161 in FIG. 12 are basically the same as the processes in steps S51 to S58 in FIG. 7, so the explanation thereof will be omitted.
  • step S157 is basically the same process as step S152 (step S52 in FIG. 7), except that the order is changed in order to obtain the first byte required in step S154. , is basically the same as the content shown in FIG.
  • step S153 of FIG. 12 the received data sorting unit 131 determines whether the received data is residual encoded data based on the 1 byte acquired in step S152. For example, it is determined whether the 1 byte acquired in step S152 is 0xFF indicating header information for determination.
  • step S153 If it is determined in step S153 that the received data is not residual encoded data, the process proceeds to step S154.
  • step S154 the bitstream reading unit 31 determines whether the first bit is 0 or not. If it is determined in step S154 that the leading bit is not 0, the process proceeds to step S158. In this case, the bitstream reading section 31 outputs one frame's worth of encoded data to the bitstream writing section 132.
  • step S158 the bitstream writing unit 132 writes out one frame of encoded data supplied from the bitstream reading unit 31.
  • the process of writing encoded data will be described later with reference to FIG. 13.
  • step S159 where decoding processing is performed.
  • step S153 determines whether the data is residual encoded data. If it is determined in step S153 that the data is residual encoded data, the process proceeds to step S162. In this case, the received data sorting unit 131 outputs the remaining encoded data to the bitstream writing unit 132 as is.
  • step S162 the bitstream writing unit 132 writes out one frame's worth of residual encoded data supplied from the bitstream reading unit 31. The process of writing out the remaining encoded data will be described later with reference to FIG.
  • FIG. 13 is a flowchart illustrating the encoded data writing process in step S158 of FIG. 12.
  • step S171 the bitstream writing unit 132 opens the file corresponding to the content ID.
  • the file to be opened is a file in which encoded data corresponding to the sent content ID is recorded, and if a corresponding file does not exist, a new file is generated.
  • step S172 the bitstream writing unit 132 obtains the frame number and frame size from the header information of the received encoded data.
  • step S173 the bitstream writing unit 132 moves the file pointer to the beginning of the corresponding frame in the opened file. If encoded data is sent continuously, the destination will be the end of the file. In addition, if the frame numbers are not consecutive due to a transmission error, etc., the destination of the movement is determined by securing an area of the maximum size specified by the encoding method at the position of the missing frame number, as described above. It will be the next area.
  • step S175 the bitstream writing unit 132 determines whether the writing size is smaller than the frame size obtained in step S172. If it is determined in step S175 that the write size is smaller than the frame size, the process proceeds to step S176.
  • the example was written in 1-byte increments, but after checking the difference between the frame size and the export size, it is written in 8-byte or 4-byte chunks, and finally in 1-byte increments. etc.
  • step S176 the process returns to step S175, and the subsequent processes are repeated.
  • step S175 If it is determined in step S175 that the write size is larger than the frame size, the process proceeds to step S177.
  • step S177 the bitstream writing unit 132 closes the file.
  • step S177 the encoded data writing process in FIG. 13 ends.
  • FIG. 14 is a flowchart illustrating the process of writing out the remaining encoded data in step S162 of FIG. 12.
  • step S181 the bitstream writing unit 132 opens the file corresponding to the content ID.
  • the file to be opened is the one in which the encoded data corresponding to the sent content ID is recorded.As mentioned above, if there is no corresponding file when writing the encoded data, the above-mentioned It is generated in step S171 in FIG.
  • step S182 the bitstream writing unit 132 acquires the frame number of the received remaining encoded data.
  • step S183 the bitstream writing unit 132 moves the file pointer to the position where the encoded data of the frame number acquired in step S182 is recorded on the file, for example, to the beginning of the frame of the frame number.
  • a method is used in which the frame size of the header information of each frame is referred to and each frame is skipped until the corresponding frame is reached.
  • step S184 the bitstream writing unit 132 reads 1 byte of encoded data that has already been written.
  • step S185 the bitstream writing unit 132 determines whether the leading bit is 0 or not. If it is determined that the first bit is 0, the process advances to step S186.
  • step S186 the bitstream writing unit 132 reads N-1 bytes of encoded data that has already been written. After step S186, the process returns to step S184, and the subsequent processes are repeated.
  • steps S184 to S186 the first bit is checked every N bytes in the encoded data that has already been written, and a non-zero position is detected.
  • step S185 If it is determined in step S185 that the first bit is not 0, the process proceeds to step S187.
  • step S187 the bitstream writing unit 132 writes the remaining encoded data to the reading source from which 1 byte was read. That is, in step S187, the remaining encoded data is written from the 1-byte area in which it is determined that the leading bit is not 0.
  • the size to be written can be obtained from the size information sent together.
  • step S188 the bitstream writing unit 132 determines whether writing of all remaining encoded data has been completed. If it is determined in step S188 that writing of all remaining encoded data has not yet been completed, the process returns to step S182, and the subsequent processes are repeated.
  • step S188 If it is determined in step S188 that writing of all remaining encoded data has been completed, the process proceeds to step S189.
  • step S189 the bitstream writing unit 132 closes the file opened for writing. After step S189, the remaining encoded data writing process in FIG. 14 ends.
  • bitstream writing unit 132 receives encoded data from the bitstream reading unit 31
  • the bitstream writing unit 132 receives encoded data from the received data sorting unit 131. It may be configured to always receive converted data and write it to a storage area. In this case, the functions necessary for the bitstream writing section 132 are moved from the bitstream reading section 31 and installed therein.
  • FIG. 15 is a diagram illustrating a configuration example of a real-time recording communication playback system according to the third embodiment of the present technology.
  • the real-time recording communication playback system 201 in FIG. 15 differs from the real-time communication playback system 1 in FIG. 4 in that an encoder 211 is added.
  • the real-time recording communication playback system 201 in FIG. 15 is configured to include an encoder 211, and the transmitter 11 and receiver 12 in FIG. Note that in FIG. 15, parts common to those in FIG. 4 are denoted by the same reference numerals, and their explanations will be omitted.
  • the encoder 211 communicates with the transmitter 11 via communication A.
  • the transmitter 11 communicates with the receiver 12 via communication B.
  • the encoder 211 encodes the audio signal input from the input system into encoded data having the format shown in FIG. 2, and transmits it to the transmitter 11 via communication A.
  • the encoder 211 upon receiving an instruction to start communication, analyzes, quantizes, and encodes the audio signal input from the input system, and then forms encoded data in the format shown in FIG. and transmits it to the transmitter 11.
  • the transmitter 11 transmits at least part of the encoded data to the receiver 12 depending on the status of communication B.
  • the receiver 12 receives at least a portion of the encoded data and reproduces it in real time.
  • communication A is a communication path that has sufficient bandwidth to communicate all encoded data in real time, such as communication within the same device or sufficiently high-speed Internet communication. etc.
  • Communication B is a communication channel that does not have sufficient bandwidth to communicate all encoded data in real time, for example, short-range communication such as Bluetooth.
  • the encoded data received via communication A is temporarily stored in a storage area (not shown) of the transmitter 11. That is, the encoder 211 and the transmitter 11 may be included in the same device.
  • the data to be transmitted may be information such as video, audio, tactile sensation, or vibration
  • FIG. 15 will also be described using audio data such as music as an example.
  • the configuration of the encoder 211 will be described below.
  • the encoder 211 includes a signal analysis section 221, a quantization section 222, an encoding section 223, and an encoded data forming section 224.
  • the signal analysis unit 221 performs band division and time-frequency conversion on one frame of the input audio signal from the input system, further analyzes it, and outputs the result to the quantization unit 222.
  • the band division consists of, for example, a Quadrature Mirror Filter, a Polyphase Quadrature filter, or a one-third octave band analysis filter bank.
  • the time-frequency transform includes, for example, a discrete Fourier transform or a modified discrete cosine transform (MDCT).
  • Analysis includes, for example, envelope analysis of time signal waveforms, envelope analysis of frequency spectra, gathering the obtained frequency spectra into predetermined bands, such as critical bandwidth bands, and finding the power of the spectrum for each grouped band. Consists of analysis, etc.
  • the supplied signal will be a frequency spectrum, but it may be a time waveform signal or the like.
  • the quantization unit 222 quantizes the analyzed signal supplied from the signal analysis unit 221 and outputs it to the encoding unit 223. Quantization is performed, for example, by determining the maximum power of the frequency spectrum for each predetermined processing unit, and calculating a coefficient (Scale Factor) so that this maximum value falls within +-1.
  • the maximum value is 120, 128, which is a power of 2, may be used as the Scale Factor.
  • This calculated Scale Factor is output to the encoding section 223 together with the quantized signal.
  • the encoding unit 223 assigns a code to the quantized signal supplied from the quantizing unit 222 according to a predetermined rule, and outputs it to the encoded data forming unit 224.
  • codes used for encoding include Huffman codes and arithmetic codes.
  • the encoded data forming unit 224 forms the supplied encoded data in the format shown in FIG. 2, and outputs it to a transmission processing unit (not shown).
  • a transmission processing unit not shown.
  • the most significant bit may be set to 0 for every N bytes.
  • the encoded data forming unit 224 first sets the first bit to 0, and then sequentially sets 32 bytes of header information, sub information, and main information. Write until bytes are reached. When 32 bytes are reached, the encoded data forming unit 224 sets the first bit to 0, and then writes out the remaining data. The above process is repeated every 32 bytes.
  • FIG. 16 is a flowchart illustrating the processing of the encoder 211.
  • step S211 the signal analysis unit 221 analyzes the waveform of one frame of the audio signal.
  • step S212 the quantization unit 222 quantizes the waveform-analyzed audio signal.
  • step S213 the encoding unit 223 encodes the quantized audio signal and generates encoded data.
  • the generated encoded data is, for example, a bit string consisting of sub information and main information.
  • step S214 the encoded data forming unit 224 generates header information according to the generated encoded data.
  • the frame size recorded in the header information is the size of the generated encoded data plus one bit required for every (N*8-1) bits. For example, it is calculated using the following equation (2).
  • the encoded data forming unit 224 writes the header information and encoded data to the temporary storage area while adding 0 bits to every (N*8-1) bits.
  • a write buffer with a size of N bytes is used. That is, the encoded data forming unit 224 first clears the N-byte write buffer with 0, copies (N*8-1) bits of encoded data excluding the first bit, and temporarily stores this. Export to area.
  • step S215 the encoded data forming unit 224 clears the write buffer with 0.
  • step S216 the encoded data forming unit 224 determines whether the size of the remaining encoded data (BN Data ) is 7 bits or more.
  • step S216 If it is determined in step S216 that BN Data is 7 bits or more, the process proceeds to step S217.
  • step S217 the encoded data forming unit 224 copies the first 7 bits of the remaining encoded data from the second bit from the beginning of the write buffer.
  • step S2128 the encoded data forming unit 224 subtracts and updates the 7 bits of the BN Data .
  • step S219 the encoded data forming unit 224 determines whether BN Data is larger than (N*8-8) bits. If it is determined in step S219 that BN Data is larger than (N*8-8) bits, the process proceeds to step S220.
  • step S220 the encoded data forming unit 224 copies (N*8-8) bits of the remaining encoded data following the 7 bits copied earlier in the write buffer.
  • step S221 the encoded data forming unit 224 subtracts (N*8-8) bits from the copied BN Data and updates it.
  • step S222 the encoded data forming unit 224 writes the contents of the write buffer to the temporary storage area. After step S222, the process returns to step S215, and the subsequent processes are repeated.
  • step S216 If it is determined in step S216 that the BN Data is not 7 bits or more, or if it is determined in step S219 that the BN Data is not (N*8-8) bits or more, the process proceeds to step S223. move on.
  • step S223 the encoded data forming unit 224 copies all remaining encoded data to the write buffer.
  • step S224 the encoded data forming unit 224 writes the contents copied to the write buffer to a temporary storage area. Note that if there is no copied content in the write buffer, nothing is done.
  • step S224 the processing of the encoder 211 ends.
  • FIG. 17 is a block diagram illustrating a configuration example of a real-time communication system according to the fourth embodiment of the present technology.
  • the real-time communication system 251 in FIG. 17 is composed of one repeater 261 and four terminals 262-1 to 262-4 connected to the repeater 261 via the Internet or the like. Note that in FIG. 17, parts common to those in FIG. 4 or 15 are given the same reference numerals, and their explanations will be omitted. Note that the number of terminals may be 2 or 3, or may be 5 or more.
  • the repeater 261 communicates with the terminals 262-1 to 262-4 via communications A1 to A4, respectively. If there is no need to distinguish between the terminals 262-1 to 262-4, they will be referred to as terminals 262. If there is no need to distinguish communications A1 to A4, they will be referred to as communication A.
  • the repeater 261 receives encoded data from at least one of the terminals 262, forms encoded data according to the communication status of communication A with each transmitting terminal 262, and transmits the formed encoded data. , to each terminal 262.
  • the communication status of each of communications A1 to A4 changes from moment to moment. Therefore, for example, even if the terminal 262-1 sends encoded data with a high bit rate to the repeater 261 because the communication condition of communication A1 is good, if the communication condition of communication A2 is bad, the high bit rate If encoded data is sent at the same rate, problems such as audio interruptions may occur.
  • the repeater 261 can devise a method for transmitting encoded data in such a situation, thereby avoiding the occurrence of a failure.
  • the repeater 261 is configured to include a cutout setting determination section 21, an encoded data cutout section 22, a termination processing section 23, and a transmission data configuration section 24.
  • the cutout setting determining unit 21 When the cutout setting determining unit 21 receives encoded data from any of the terminals 262, it estimates the communication status of communication A with each terminal 262, analyzes the situation, and sends cutout setting information to each terminal 262. Generate each.
  • the encoded data cutting unit 22 cuts out and generates one frame worth of encoded data for each terminal 262.
  • the termination processing unit 23 performs termination processing on each of the generated encoded data.
  • the transmission data composition unit 24 compiles the data into chunks of data to be transmitted at once to each terminal 262 and outputs the data to the transmission processing unit 25.
  • the data supplied to the transmission processing unit 25 is transmitted to each terminal 262, respectively.
  • the terminal 262 is configured to include an encoder 211, a transmitter 11, and a receiver 12.
  • the encoder 211 When an audio signal is input from the input system, the encoder 211 forms encoded data in the format shown in FIG. 2 and outputs it to the transmitter 11.
  • the transmitter 11 collects the encoded data formed by the encoder 211 into a data chunk to be transmitted at once, and then transmits it to the repeater 261.
  • the receiver 12 When the receiver 12 receives the encoded data from the repeater 261, it synthesizes the audio data and reproduces it through a speaker or the like through an output system (not shown).
  • the encoder 211 and transmitter 11 are described as separate blocks, but they may be combined into one block.
  • the encoded data generated by the encoder 211 may be adjusted to fit within the size to be transmitted.
  • the repeater 261 transmits the received encoded data to any terminal 262 without distinguishing it from the terminal 262 that sent it. You may choose not to do so.
  • the repeater 261 may mix the multiple encoded data before transmitting.
  • the cut out encoded data may be concatenated.
  • a format in which encoded data may be concatenated may be defined in advance.
  • the processing of the repeater 261 and each terminal 262 can be realized by a configuration in which the processing described in the first to third embodiments is operated in a time-sharing manner, so a description thereof will be omitted.
  • the third and fourth embodiments are combinations with the first embodiment, but the second embodiment may be combined with the second embodiment instead of the first embodiment.
  • one frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of the cutout unit of N bytes, and the cutout data is A termination identifier is added to the end of the data.
  • the bit rate adjustment according to the transmission band and purpose can be done by cutting out the data without decoding the encoded data, so even if the content is stored as encoded data, the amount of processing Content can be distributed at a bit rate suitable for the communication channel without increasing the bit rate.
  • the quality of recorded content can be made to the highest quality.
  • the quality of recorded content can be maximized without the user knowing.
  • each terminal does not send data encoded at multiple bit rates; instead, at the repeater, data is encoded at the optimal bit rate according to the communication status between each terminal and the repeater. Data can be sent.
  • FIG. 18 is a block diagram showing an example of a hardware configuration of a computer that executes the above-described series of processes using a program.
  • a CPU 301, a ROM (Read Only Memory) 302, and a RAM (Random Access Memory) 303 are interconnected by a bus 304.
  • An input/output interface 305 is further connected to the bus 304.
  • an input section 306 consisting of a keyboard, mouse, microphone, etc.
  • an output section 307 consisting of a display, speakers, etc.
  • a storage section 308 made up of a hard disk, a nonvolatile memory, etc.
  • a communication section 309 made up of a network interface, etc.
  • a drive 310 that drives a removable medium 311 .
  • the CPU 301 for example, loads a program stored in the storage unit 308 into the RAM 303 via the input/output interface 305 and the bus 304 and executes it, thereby performing the series of processes described above. will be held.
  • a program executed by the CPU 301 is installed in the storage unit 308 by being recorded on a removable medium 311 or provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting.
  • the program executed by the computer may be a program in which processing is performed chronologically in accordance with the order described in this specification, in parallel, or at necessary timing such as when a call is made. It may also be a program that performs processing.
  • a system refers to a collection of multiple components (devices, modules (components), etc.), regardless of whether all the components are located in the same casing. Therefore, multiple devices housed in separate casings and connected via a network, and a single device with multiple modules housed in one casing are both systems. .
  • the present technology can take a cloud computing configuration in which one function is shared and jointly processed by multiple devices via a network.
  • each step described in the above flowchart can be executed by one device or can be shared and executed by multiple devices.
  • one step includes multiple processes
  • the multiple processes included in that one step can be executed by one device or can be shared and executed by multiple devices.
  • the present technology can also have the following configuration.
  • a cutting unit that cuts out one frame of encoded data including header information and main information in a cutting size that is an integral multiple of a cutting unit of N bytes from the beginning of the header information;
  • a signal processing device comprising: a termination processing section that adds a termination identifier to the end of the cutout data cut out by the cutout section.
  • the cutout size is based on at least one of the processing load on the sending side, the communication status between the sending side and the receiving side, resource availability information on the receiving side, the CPU usage rate on the receiving side, and the remaining battery level on the receiving side.
  • the signal processing device further comprising: a cutout size determination unit that determines the size of the cutout size.
  • a cutout size determination unit that determines the size of the cutout size.
  • the signal processing device further comprising a transmitter that transmits the cut-out data to which the termination identifier is added.
  • a residual encoded data configuration unit that generates residual encoded data that is the remainder of the encoded data after the cutout data is extracted by the extraction unit, The signal processing device according to (3), wherein the transmitter transmits the remaining encoded data.
  • the signal processing device (4), wherein the transmitting unit transmits the remaining encoded data using a free time for transmitting the cut-out data.
  • the signal processing device further comprising a history information storage unit that stores history information of the cutout data cut out by the cutout unit,
  • the signal processing device (4) or (5), wherein the residual encoded data configuration unit generates the residual encoded data with reference to the history information.
  • the signal processing device (6), wherein the history information includes at least the frame number of the encoded data and the cutout size.
  • the cutout unit is predetermined between the sending side and the receiving side, or is shared between the sending side and the receiving side by being transmitted together with the cutout data. Any of (1) to (7) above.
  • the signal processing device according to claim 1.
  • the signal processing device any one of (1) to (7), wherein the cutting unit is changeable.
  • the first bit of the cutout unit takes a first value
  • the first bit of the termination identifier takes a second value different from the first value.
  • (1) to (9) The signal processing device according to any one of. (11)
  • the encoded data of the one frame includes the header information, sub information, and the main information,
  • the outline information includes at least one of information for restoring an envelope of a frequency spectrum and information for restoring an envelope of a time waveform.
  • the signal processing device according to any one of (1) to (13), wherein the information recorded in the main information is arranged in order of importance from the beginning or from the beginning.
  • the information recorded in the main information is at least one of audio information, video information, tactile information, and vibration information, and is arranged from the beginning in order from low range to high range, as described in (14) above. signal processing device.
  • (16) The signal processing device according to (14), wherein the information recorded in the main information is hierarchically encoded information and is arranged in order from the top to the first layer.
  • the information recorded in the main information is at least one of audio information, video information, tactile information, vibration information, and hierarchically encoded information;
  • the signal processing device according to (14) above in which the signal processing device is arranged in order from the top to the first layer, and in the case of hierarchically encoded information, it is arranged in order from the top to the first layer.
  • the signal processing device Cutting out one frame of encoded data including header information and main information from the beginning of the header information in a cutout size that is an integral multiple of the cutout unit of N bytes, A signal processing method that adds a termination identifier to the end of the extracted data.
  • a cutting unit that cuts out one frame of encoded data including header information and main information in a cutting size that is an integral multiple of a cutting unit of N bytes from the beginning of the header information;
  • a program that causes a computer to function as a termination processing section that adds a termination identifier to the end of the cutout data cut out by the cutout section.
  • One frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of the cutout unit of N bytes, and is transmitted based on the first bit of the cutout data.
  • a signal processing device comprising a decoding unit that decodes cut-out data while detecting a termination identifier added to the end of the cut-out data, and decodes information that cannot be decoded as zero at the time when the termination identifier is detected.
  • Real-time communication playback system 11. Transmitter, 12. Receiver, 21. Extraction setting determination section, 22. Encoded data extraction section, 23. Termination processing section, 24. Transmission data composition section, 25. Transmission processing section, 31. Bit stream reading section, 32 Decoding unit, 33 Inverse quantization unit, 34 Signal synthesis unit, 101 Real-time communication reproduction system, 111 Transmitter, 112 Receiver, 121 Encoded data extraction unit, 122 Untransmitted encoded data information storage unit, 123 Remaining encoded data Component, 131 Received data sorting unit, 132 Bitstream writing unit, 201 Real-time recording communication playback system, 211 Encoder, 221 Signal analysis unit, 222 Quantization unit, 223 Encoding unit, 224 Encoded data forming unit, 251 Real-time communication system, 261 repeater, 262-1 to 262-4 terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)

Abstract

This technology pertains to a signal processing device, a signal processing method, and a program that make it possible to reduce delay time in processing for adjustment of the bit rate of encoded data. The signal processing device cuts out encoded data in one frame including header information and main information from the head of the header information with a cutout size that is an integer multiple of a cutout unit of N bytes, and adds an end identifier to the end of cutout data which has been cut out. This technology can be applied to a real-time communication reproduction system.

Description

信号処理装置、信号処理方法、およびプログラムSignal processing device, signal processing method, and program
 本技術は、信号処理装置、信号処理方法、およびプログラムに関し、特に、符号化データのビットレート調整の処理遅延時間を短縮することができるようにした信号処理装置、信号処理方法、およびプログラムに関する。 The present technology relates to a signal processing device, a signal processing method, and a program, and particularly relates to a signal processing device, a signal processing method, and a program that can shorten processing delay time for bit rate adjustment of encoded data.
 映像、音声、触覚、および振動などの情報を伝送する際に、通信路の状況に応じて圧縮率、すなわち、ビットレートを調整することが広く行われている。 When transmitting information such as video, audio, tactile sensation, and vibration, it is widely practiced to adjust the compression ratio, that is, the bit rate, depending on the conditions of the communication channel.
 例えば、特許文献1および特許文献2においては、音声データを伝送する際に、通信路の状況に応じてビットレートを段階的に調整することで、音途切れを抑制する方法が開示されている。 For example, Patent Document 1 and Patent Document 2 disclose a method of suppressing sound interruptions by adjusting the bit rate in stages according to the status of the communication channel when transmitting audio data.
 また、インターネット経由で接続された複数機器の間で、各機器に最適なビットレートで通信するための方法として、WebRTC(Web Real-Time Communication)のSimulcastが運用されている。 Additionally, WebRTC (Web Real-Time Communication) Simulcast is being used as a method for communicating between multiple devices connected via the Internet at the optimal bit rate for each device.
 Simulcastは、配信側が複数のビットレートで符号化した複数の符号化データを、中継サーバ(SFU:Selective Forwarding Unit)にアップロードし、中継サーバが各端末との通信状況に応じて最適なビットレートの符号化データのみを選択して転送する仕組みで実現されている。すなわち、SFUの特徴は、受信した符号化データを加工せずに選択して転送する点である。 With Simulcast, the distribution side uploads multiple encoded data encoded at multiple bit rates to a relay server (SFU: Selective Forwarding Unit), and the relay server selects the optimal bit rate according to the communication status with each terminal. This is realized by a mechanism that selects and transfers only encoded data. That is, the feature of SFU is that received encoded data is selected and transferred without being processed.
 また、中継サーバが各端末から受信した符号化データを合成して配信するMCU(Multipoint Control Unit)を用いる方法がある。MCUの特徴は、受信した複数の符号化データを一旦復号し、合成後に再度符号化し、各端末に送信する点である。すなわち、MCUにおいては、復号したデータを再度符号化することでビットレートが調整される。 There is also a method using an MCU (Multipoint Control Unit) in which a relay server combines and distributes encoded data received from each terminal. A feature of the MCU is that it once decodes multiple pieces of received encoded data, combines it, encodes it again, and transmits it to each terminal. That is, in the MCU, the bit rate is adjusted by re-encoding the decoded data.
 さらに、アルゴリズムに階層を持たせることで、階層の境界で切り出しを行うSVC(Scalable Video Coding)を用いる方法がある。SVCの特徴は、階層毎にデータを取り出して処理できる点である。すなわち、SVCにおいては、ビットレートの調整が階層単位で段階的に行われる。 Furthermore, there is a method of using SVC (Scalable Video Coding), which cuts out at the boundaries of the hierarchy by providing a hierarchy to the algorithm. A feature of SVC is that it can extract and process data for each layer. That is, in SVC, bit rate adjustment is performed in stages on a layer-by-layer basis.
特開2009-260931号公報JP2009-260931A 特開2016-208215号公報Japanese Patent Application Publication No. 2016-208215
 これらのビットレートの調整は、主に符号化により実現される。すなわち、符号化データのビットレートを調整するには、符号化データを一旦復号し、目標のビットレートとなるように再度符号化しなければならず、処理遅延時間の発生や処理負荷の増加が伴う。 These bit rate adjustments are mainly realized by encoding. In other words, in order to adjust the bit rate of encoded data, the encoded data must be decoded once and encoded again to achieve the target bit rate, resulting in processing delay time and increased processing load. .
 例えば、コンテンツを圧縮して記録しておく場合に、記録されているコンテンツを限られた通信帯域で送信するためには、一旦復号し、再度符号化することが必要となる。したがって、コンテンツを圧縮して記録しておく場合は、コンテンツを非圧縮で記録しておく場合と比較して、処理遅延時間が発生し、処理負荷も増加してしまう。逆にコンテンツを非圧縮で記録しておくことも考えられるが、非圧縮で記録する場合は、圧縮して記録する場合と比べ、記録容量を多く確保しなければならない。 For example, when compressing and recording content, in order to transmit the recorded content over a limited communication band, it is necessary to decode it once and then encode it again. Therefore, if the content is compressed and recorded, a processing delay time will occur and the processing load will be increased compared to the case where the content is recorded uncompressed. Conversely, it is possible to record the content uncompressed, but when recording the content uncompressed, it is necessary to secure a larger recording capacity than when recording the content compressed.
 インターネットから受信したデータをBluetooth(登録商標)など通信帯域が狭い無線で送信する場合には、たとえ同じ圧縮技術を使っていたとしても、データを一旦復号し、目標のビットレートとなるように再度符号化する必要がある。 When transmitting data received from the Internet using wireless communication with a narrow communication band such as Bluetooth (registered trademark), even if the same compression technology is used, the data must be decoded and re-encoded to achieve the target bit rate. need to be encoded.
 本技術はこのような状況に鑑みてなされたものであり、符号化データのビットレート調整の処理遅延時間を短縮することができるようにするものである。 The present technology was developed in view of this situation, and is intended to shorten the processing delay time for adjusting the bit rate of encoded data.
 本技術の一側面の信号処理装置は、ヘッダ情報およびメイン情報を含む1フレームの符号化データを、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出す切り出し部と、前記切り出し部により切り出された切り出しデータの終端に終端識別子を付加する終端処理部とを備える。 A signal processing device according to one aspect of the present technology includes a cutting unit that cuts out one frame of encoded data including header information and main information in a cutting size that is an integral multiple of a cutting unit of N bytes from the beginning of the header information; and a termination processing section that adds a termination identifier to the end of the cutout data cut out by the cutout section.
 本技術の他の側面の信号処理装置は、ヘッダ情報およびメイン情報を含む1フレームの符号化データが、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出されて送信されてくる切り出しデータの先頭ビットに基づいて、前記切り出しデータを、前記切り出しデータの終端に付加された終端識別子を検出しながら復号し、前記終端識別子を検出した時点で復号できない情報をゼロとして復号する復号部を備える。 In a signal processing device according to another aspect of the present technology, one frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of a cutout unit of N bytes, and then transmitted. Based on the leading bit of the extracted data, the extracted data is decoded while detecting a termination identifier added to the end of the extracted data, and information that cannot be decoded at the time when the termination identifier is detected is decoded as zero. It includes a decoding section.
 本技術の一側面においては、ヘッダ情報およびメイン情報を含む1フレームの符号化データが、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出され、切り出された切り出しデータの終端に終端識別子が付加される。 In one aspect of the present technology, one frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of a cutout unit of N bytes, and the cutout data is A termination identifier is added to the termination.
 本技術の他の側面においては、ヘッダ情報およびメイン情報を含む1フレームの符号化データが、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出されて送信されてくる切り出しデータの先頭ビットに基づいて、前記切り出しデータが、前記切り出しデータの終端に付加された終端識別子を検出しながら復号され、前記終端識別子を検出した時点で復号できない情報がゼロとして復号される。 In another aspect of the present technology, one frame of encoded data including header information and main information is cut out and transmitted in a cutout size that is an integral multiple of a cutout unit of N bytes from the beginning of the header information. Based on the leading bit of the data, the cut-out data is decoded while detecting a termination identifier added to the end of the cut-out data, and information that cannot be decoded at the time of detecting the termination identifier is decoded as zero.
本技術の第1の実施の形態に係るリアルタイム通信再生システムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of a real-time communication playback system according to a first embodiment of the present technology. 本技術の符号化データの形式(Format)の例を示す図である。FIG. 2 is a diagram illustrating an example of a format of encoded data according to the present technology. 符号化データの切り出しに関する初期情報の例を示す図である。FIG. 3 is a diagram illustrating an example of initial information regarding cutting out encoded data. 送信器と受信器の構成例を示すブロック図である。FIG. 2 is a block diagram showing a configuration example of a transmitter and a receiver. 送信器の処理を説明するフローチャートである。It is a flow chart explaining processing of a transmitter. 図5のステップS11の切り出し設定処理を説明するフローチャートである。6 is a flowchart illustrating the cutout setting process in step S11 of FIG. 5. FIG. 受信器の処理を説明するフローチャートである。It is a flow chart explaining processing of a receiver. 図7のステップS56の復号処理について説明するフローチャートである。8 is a flowchart illustrating the decoding process in step S56 of FIG. 7. FIG. 本技術の第2の実施の形態に係るリアルタイム通信再生システムの構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of a real-time communication playback system according to a second embodiment of the present technology. 送信器の主処理を説明するフローチャートである。3 is a flowchart illustrating main processing of a transmitter. 送信器の副処理を説明するフローチャートである。3 is a flowchart illustrating sub-processing of a transmitter. 受信器の処理を説明するフローチャートである。It is a flow chart explaining processing of a receiver. 図12のステップS158の符号化データの書き出し処理を説明するフローチャートである。13 is a flowchart illustrating the process of writing encoded data in step S158 of FIG. 12. FIG. 図12のステップS162の残符号化データの書き出し処理を説明するフローチャートである。13 is a flowchart illustrating the process of writing out remaining encoded data in step S162 of FIG. 12. FIG. 本技術の第3の実施の形態に係るリアルタイム録音通信再生システムの構成例を示すブロック図である。FIG. 3 is a block diagram showing a configuration example of a real-time recording communication playback system according to a third embodiment of the present technology. 符号化器の処理を説明するフローチャートである。3 is a flowchart illustrating processing of an encoder. 本技術の第4の実施の形態に係るリアルタイム通信システムの構成例を示すブロック図である。FIG. 12 is a block diagram illustrating a configuration example of a real-time communication system according to a fourth embodiment of the present technology. コンピュータの構成例を示すブロック図である。1 is a block diagram showing an example of the configuration of a computer. FIG.
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.第1の実施の形態
 2.第2の実施の形態
 3.第3の実施の形態
 4.第4の実施の形態
 5.その他
Hereinafter, a mode for implementing the present technology will be described. The explanation will be given in the following order.
1. First embodiment 2. Second embodiment 3. Third embodiment 4. Fourth embodiment 5. others
<1.第1の実施の形態>
 <リアルタイム通信再生システムの構成>
 図1は、本技術の第1の実施の形態に係るリアルタイム通信再生システムの構成例を示す図である。
<1. First embodiment>
<Configuration of real-time communication playback system>
FIG. 1 is a diagram illustrating a configuration example of a real-time communication playback system according to a first embodiment of the present technology.
 図1のリアルタイム通信再生システム1は、送信器11および受信器12を含むように構成される。 The real-time communication playback system 1 in FIG. 1 is configured to include a transmitter 11 and a receiver 12.
 送信器11は、図示せぬ記憶領域に記録された音声の符号化データ(以下、単に符号化データと称する)の少なくとも一部を受信器12に送信する。 The transmitter 11 transmits at least a portion of audio encoded data (hereinafter simply referred to as encoded data) recorded in a storage area (not shown) to the receiver 12.
 受信器12は、符号化データの少なくとも一部を受信して、リアルタイムに再生を行う。 The receiver 12 receives at least a portion of the encoded data and reproduces it in real time.
 なお、第1の実施の形態における通信は、インターネットを介した遠距離通信、Bluetoothなどの近距離通信、または機器内通信であってもよい。また、伝送されるデータは、映像、音声、触覚、または振動などの情報であってよいが、第1の実施の形態においては、音楽などの音声データを例に挙げて説明する。 Note that the communication in the first embodiment may be long-distance communication via the Internet, short-distance communication such as Bluetooth, or intra-device communication. Although the data to be transmitted may be information such as video, audio, tactile sensation, or vibration, the first embodiment will be described using audio data such as music as an example.
 また、第1の実施の形態において、再生開始や停止の指示が、送信器11と受信器12の間で取り交わされるものとする。第1の実施の形態におけるこれらの「なお書き」は、以降の第2乃至第4の実施の形態においても同様である。 Furthermore, in the first embodiment, it is assumed that instructions to start and stop reproduction are exchanged between the transmitter 11 and the receiver 12. These "notes" in the first embodiment are the same in the subsequent second to fourth embodiments.
 さらに、送信器11と受信器12は、後述する図2の形式からなる符号化データを伝送し、リアルタイム再生する準備が整っているとする。リアルタイム再生する準備には、例えば、BluetoothのA2DP(Advanced Audio Distribution Profile)であれば、通信に用いるオーディオコーデックの種類やサンプリング周波数などを決定することなどがある。なお、符号化データの形式は、リアルタイム再生する準備においてオーディオコーデックの仕様の1つとして決定されればよい。 Furthermore, it is assumed that the transmitter 11 and the receiver 12 are ready to transmit encoded data in the format shown in FIG. 2, which will be described later, and to reproduce it in real time. For example, in the case of Bluetooth A2DP (Advanced Audio Distribution Profile), preparation for real-time playback includes determining the type of audio codec used for communication, the sampling frequency, etc. Note that the format of the encoded data may be determined as one of the specifications of the audio codec in preparation for real-time playback.
 <符号化データの形式>
 図2は、本技術の符号化データの形式(Format)の例を示す図である。
<Format of encoded data>
FIG. 2 is a diagram illustrating an example of the format of encoded data according to the present technology.
 図2の符号化データは、音声データを、例えば10ミリ秒などの時間長で分割したフレーム単位で符号化したデータ列である。 The encoded data in FIG. 2 is a data string obtained by encoding audio data in units of frames, which are divided by a time length such as 10 milliseconds.
 各フレームの符号化データは、ヘッダ情報、サブ情報、およびメイン情報で構成される。 The encoded data of each frame is composed of header information, sub information, and main information.
 ヘッダ情報には、例えば、当該フレームのデータサイズ(以下、フレームサイズ)やサンプリング周波数を示す情報などが含まれる。 The header information includes, for example, information indicating the data size of the frame (hereinafter referred to as frame size) and sampling frequency.
 サブ情報には、例えば、復元する信号の概形情報が含まれる。復元する信号の概形情報とは、音声データの概形を復元もしくは推測できる情報であり、例えば、音声データの時間波形エンベロープや周波数スペクトルエンベロープなどを復元するための情報、または帯域分割された各周波数帯域のScale Factorなどの情報である。 The sub-information includes, for example, outline information of the signal to be restored. The general shape information of the signal to be restored is information that allows the general shape of the audio data to be restored or estimated. For example, information for restoring the time waveform envelope or frequency spectrum envelope of the audio data, or information for restoring the time waveform envelope or frequency spectrum envelope of the audio data, or This is information such as the scale factor of the frequency band.
 メイン情報には、復元する信号である音声データの微細構造を復元するための情報、例えば、符号化された時間波形信号や周波数ビン毎の信号が含まれる。 The main information includes information for restoring the fine structure of the audio data, which is the signal to be restored, such as an encoded time waveform signal and a signal for each frequency bin.
 また、メイン情報には、重要度の高い情報から順に並ぶように情報が配置される。例えば、メイン情報が音声データの場合、重要度の高い低域の音声情報から高域の音声情報に向かって音声情報が配置される。例えば、メイン情報が、SVCなどの階層符号化情報の場合、重要度の高い1層目の情報から順に階層符号化情報が配置される。なお、上述した例に限らず、重要度の低い情報から順に並ぶように情報が配置されてもよいし、情報の並び順は、特に重要度とは紐づかない形で配置されていてもよい。 Additionally, information is arranged in the main information in descending order of importance. For example, when the main information is audio data, audio information is arranged from low-frequency audio information with high importance to high-frequency audio information. For example, if the main information is hierarchically encoded information such as SVC, the hierarchically encoded information is arranged in order from the first layer information with the highest degree of importance. Note that the information is not limited to the above-mentioned example, but the information may be arranged in descending order of importance, or the information may be arranged in a manner that is not particularly linked to importance. .
 なお、以降においては、説明を簡単にするために、サブ情報とメイン情報は、それぞれ、周波数スペクトルに関する情報のみで構成されているとするが、時間波形に関する情報のみ、または周波数スペクトルに関する情報と時間波形に関する情報との両方で構成されていてもよい。 In the following, to simplify the explanation, it is assumed that the sub information and the main information each consist of only information about the frequency spectrum. It may be composed of both information regarding the waveform.
 また、符号化データは一定間隔で値が“0”のビットが出現する特徴を有する。値が“0”のビットが出現する間隔(以下、先頭ビット出現間隔と称する)は、例えば、規格などで予め定められてもよい。また、ヘッダ情報などに記録領域を設け、その記録領域の中に先頭ビット出現間隔に関する情報を含めて送信側から受信側に送信するようにしてもよい。 Furthermore, encoded data has a feature in which bits with a value of "0" appear at regular intervals. The interval at which bits with a value of "0" appear (hereinafter referred to as the first bit appearance interval) may be predetermined by, for example, a standard. Alternatively, a recording area may be provided for header information, etc., and information regarding the leading bit appearance interval may be included in the recording area and transmitted from the transmitting side to the receiving side.
 図2においては、先頭ビット出現間隔が“N”バイトに設定されている。なお、単位はバイトに限らない。先頭ビット出現間隔Nバイトは、例えば、20バイトや32バイトなどとなる。以降の例では特に記載がない限り、先頭ビット出現間隔Nは32バイトとして記載するが、これ以外の値を取ってもよい。 In FIG. 2, the first bit appearance interval is set to "N" bytes. Note that the unit is not limited to bytes. The first bit appearance interval N bytes is, for example, 20 bytes or 32 bytes. In the following examples, unless otherwise specified, the first bit appearance interval N is described as 32 bytes, but it may take a value other than this.
 符号化データの終端については、データサイズが先頭ビット出現間隔Nバイトの整数倍となるように適切にデータを詰めてもよいが、図2においては、終端にデータを詰めない場合の符号化データの例が示されている。 Regarding the end of the encoded data, data may be appropriately packed so that the data size is an integral multiple of the leading bit appearance interval N bytes, but in Figure 2, the encoded data when no data is packed at the end An example is shown.
 以上のように、図2に示される符号化データは、先頭ビット出現間隔Nバイトの整数倍のサイズで切り出して用いられることを特徴とする。 As described above, the encoded data shown in FIG. 2 is characterized in that it is cut out and used in a size that is an integral multiple of the leading bit appearance interval N bytes.
 なお、図2において、先頭ビット出現間隔Nバイトは、常に一定であるとしたが、途中で変更可能であるようにしてもよい。例えば、先頭ビット出現間隔Nバイトは、最初の1バイト乃至128バイトは32バイトに設定され、次の129バイト乃至256バイトは64バイトに設定されてもよい。なお、先頭ビット出現間隔Nバイトが途中で変更可能である場合、例えば、先頭ビット出現間隔Nバイトが規格などで予め定義されるか、または、先頭ビット出現間隔Nバイトがヘッダ情報に記録されて符号化データと一緒に送信されてもよい。 Note that in FIG. 2, the first bit appearance interval N bytes is always constant, but it may be possible to change it midway. For example, the leading bit appearance interval N bytes may be set to 32 bytes for the first 1 to 128 bytes, and 64 bytes for the next 129 to 256 bytes. Note that if the leading bit appearance interval N bytes can be changed midway, for example, the leading bit appearance interval N bytes is predefined in a standard, or the leading bit appearance interval N bytes is recorded in the header information. It may also be transmitted together with encoded data.
 これにより、例えば、メイン情報において前方に重要度の高いデータが配置される場合、重要度の高いデータをより優先して送信し、重要度の低いデータを送らないようにすることもできる。 As a result, for example, if data with high importance is placed at the front in the main information, it is possible to transmit the data with higher priority and avoid sending data with low importance.
 <符号化データの切り出しに関する初期情報>
 図3は、符号化データの切り出しに関する初期情報の例を示す図である。
<Initial information regarding extraction of encoded data>
FIG. 3 is a diagram illustrating an example of initial information regarding cutting out encoded data.
 図3においては、符号化データの切り出しに関する初期情報の一例として、切り出し単位、並びに切り出す時の最大サイズおよび最小サイズが示されている。 In FIG. 3, as an example of initial information regarding the extraction of encoded data, the extraction unit and the maximum size and minimum size at the time of extraction are shown.
 切り出し単位は、Nバイト(=先頭ビット出現間隔N(Nバイト)に設定され、切り出しサイズは、切り出し単位(Nバイト)の整数倍に設定される。 The extraction unit is set to N bytes (=leading bit appearance interval N (N bytes), and the extraction size is set to an integral multiple of the extraction unit (N bytes).
 切り出し最小サイズは、切り出し単位の整数倍であって、ヘッダ情報とサブ情報のすべてを含むサイズの最小値である。 The minimum extraction size is an integral multiple of the extraction unit, and is the minimum size that includes all header information and sub information.
 切り出し最大サイズは、切り出し単位の整数倍であって、1フレームの符号化データをすべて含むサイズの最小値である。図3の場合、最小サイズは2Nバイト、最大サイズは6Nバイトとなる。 The maximum extraction size is an integral multiple of the extraction unit, and is the minimum size that includes all encoded data of one frame. In the case of FIG. 3, the minimum size is 2N bytes and the maximum size is 6N bytes.
 <送信器と受信器の構成>
 図4は、図1の送信器11と受信器12の構成例を示すブロック図である。
<Transmitter and receiver configuration>
FIG. 4 is a block diagram showing a configuration example of the transmitter 11 and receiver 12 in FIG. 1.
 送信器11は、再生開始指示を受けると、後述する切り出し設定情報を生成し、切り出し設定情報に応じて、1フレームの符号化データから受信器12に送信する符号化データ(切り出しデータ)を切り出し、切り出した符号化データを終端処理する。送信器11は、終端処理した符号化データを一度に送信するデータの塊(すなわち、図2の形式からなる符号化データ)にまとめたうえで、受信器12に送信する。 Upon receiving the playback start instruction, the transmitter 11 generates cutout setting information, which will be described later, and cuts out encoded data (cutout data) to be transmitted to the receiver 12 from one frame of encoded data according to the cutout setting information. , performs termination processing on the cut out encoded data. The transmitter 11 collects the terminated encoded data into a data chunk to be transmitted at once (that is, encoded data in the format shown in FIG. 2), and transmits the data to the receiver 12.
 図4の送信器11は、切り出し設定決定部21、符号化データ切り出し部22、終端処理部23、送信データ構成部24、および送信処理部25を含むように構成される。 The transmitter 11 in FIG. 4 is configured to include a cutout setting determination section 21, an encoded data cutout section 22, a termination processing section 23, a transmission data configuration section 24, and a transmission processing section 25.
 切り出し設定決定部21は、切り出し設定情報を決定するために必要となる情報を、図示せぬ受信系より事前に取得し、今回の再生で取り得る設定値の範囲を決定する。 The cutout setting determination unit 21 obtains information necessary for determining cutout setting information in advance from a receiving system (not shown), and determines the range of setting values that can be taken in the current playback.
 切り出し設定決定部21は、再生が開始されると、受信系より間歇的に受け取る通信状況などの情報に基づいて、切り出し設定情報を調整し、調整後の切り出し設定情報を符号化データ切り出し部22と送信データ構成部24に出力する。 When playback is started, the cutout setting determining unit 21 adjusts the cutout setting information based on information such as the communication status that is intermittently received from the reception system, and sends the adjusted cutout setting information to the encoded data cutout unit 22. and is output to the transmission data configuration section 24.
 切り出し設定情報は、例えば、符号化データの切り出しサイズCutSZと1回の通信で送信するフレーム(1つのパケットにまとめられるフレーム)の数FNUMを含むように構成される。以降においては、フレーム数と切り出しサイズのペアを<FNUM、CutSZ>と表記する。 The cutout setting information is configured to include, for example, the cutout size of encoded data Cut SZ and the number F NUM of frames (frames collected into one packet) to be transmitted in one communication. Hereinafter, the pair of frame number and cutout size will be expressed as <F NUM , Cut SZ >.
 切り出し設定決定部21が事前に受け取る情報には、例えば、1回の通信で送信する最大データサイズ、通信に用いるパケットの種類やサイズの情報、1つのパケットにまとめてよいフレームの数、許容される遅延時間、デフォルトの切り出し設定情報や再生する符号化データに関する切り出し仕様(例えば、図3の切り出しに関する初期情報)などの情報がある。 The information that the cutout setting determination unit 21 receives in advance includes, for example, the maximum data size to be transmitted in one communication, information on the type and size of packets used for communication, the number of frames that can be combined into one packet, and the permissible number of frames. There is information such as a delay time, default cutout setting information, and cutout specifications regarding encoded data to be reproduced (for example, initial information regarding cutout in FIG. 3).
 切り出し設定情報が取り得る設定値の範囲は、事前に受け取る情報に基づいて決定される。例えば、パケットのサイズが200バイト、1つのパケットにまとめてよいフレームの数が3の場合には、Nが32バイトであれば、<1、2N乃至6N(2N、3N、4N、5N、6Nが取れる意)>、<2、2Nおよび3N>、<3、2N>と算出される。パケットのサイズが150バイト、1つのパケットにまとめてよいフレームの数が3の場合には、<1、2N乃至4N>と<2、2N>と算出される。 The range of setting values that the cutout setting information can take is determined based on information received in advance. For example, if the packet size is 200 bytes and the number of frames that can be combined into one packet is 3, if N is 32 bytes, then <1, 2N to 6N (2N, 3N, 4N, 5N, 6N )>, <2, 2N and 3N>, <3, 2N>. When the packet size is 150 bytes and the number of frames that can be combined into one packet is 3, the calculations are <1, 2N to 4N> and <2, 2N>.
 なお、許容される遅延時間が2フレーム分の時間よりも短い場合には、上述したFNUMが1となるパターンのみ取り得ることとなる。 Note that if the allowable delay time is shorter than the time for two frames, only the above-mentioned pattern in which F NUM is 1 is possible.
 また、説明の簡単のために、以降の説明では終端処理で付加されるデータサイズについて特に言及しないが、実際には、このデータサイズを加味して処理が行われる。 Furthermore, for the sake of simplicity, the following explanation does not specifically mention the data size added in the termination process, but in reality, processing is performed taking this data size into consideration.
 切り出し設定情報は、ネットワークの通信状況、送信器11の処理負荷、受信器12のリソース空き情報などの情報の傾向が分析され、分析結果に基づいて適応的に決定される。または、切り出し設定情報は、ユーザにより選択された設定に従い決定される。 The cutout setting information is determined by analyzing trends in information such as the communication status of the network, the processing load of the transmitter 11, and resource availability information of the receiver 12, and is adaptively determined based on the analysis results. Alternatively, the cutout setting information is determined according to settings selected by the user.
 切り出し設定情報を適応的に決定する場合、例えば、初回の切り出し設定情報にはデフォルトの切り出し設定情報が用いられ、以降の切り出し設定情報は、推測された通信状況などから決定される。 When determining the cutout setting information adaptively, for example, default cutout setting information is used for the first cutout setting information, and subsequent cutout setting information is determined based on the estimated communication situation.
 通信状況の推測には、例えば、送信処理部25における送信待ちデータの数量やこの数量の移動平均の値、直近数秒におけるデータの再送割合、エラー率などが参照される。例えば、すべてが高い値を示す場合には通信状況が悪いと推測される。再送割合のみが高い値を示す場合には通信状況が悪化傾向であると推測される。データ数量のみが高い値を示す場合には通信状況が改善傾向であると推測される。すべてが低い値を示す場合には通信状況がよいと推測される。 For estimating the communication status, reference is made to, for example, the amount of data waiting to be sent in the transmission processing unit 25, the moving average value of this amount, the retransmission rate of data in the last few seconds, the error rate, etc. For example, if all of them show high values, it is assumed that the communication situation is poor. If only the retransmission rate shows a high value, it is presumed that the communication situation is deteriorating. If only the data quantity shows a high value, it is presumed that the communication situation is improving. If all of them show low values, it is assumed that the communication status is good.
 通信状況を観測し、推測するまでの推測時間は、常に一定であってもよい。例えば、悪化傾向もしくは悪いと推測するための推測時間は短く設定され、改善傾向もしくはよいと推測するための推測時間は長く設定されるなど、通信状況を推測するまでの推測時間は調整されてもよい。 The estimating time from observing the communication status to estimating it may always be constant. For example, the estimation time for estimating a worsening trend or bad is set short, and the estimating time for estimating an improving trend or good is set long. good.
 また、送信器11の処理負荷は、例えば、CPU(Central Processing Unit)使用率やバッテリ残量などを参照し推測される。したがって、切り出し設定情報は、CPU使用率やバッテリ残量などに基づいて適応的に決定される。 Further, the processing load of the transmitter 11 is estimated by referring to, for example, the CPU (Central Processing Unit) usage rate, the remaining battery level, etc. Therefore, the cutout setting information is adaptively determined based on the CPU usage rate, remaining battery level, and the like.
 バッテリ残量が例えば20%を下回る場合には、送信電力を抑えるために、1回に送信するフレーム数が増えるように切り出し設定情報が設定されたり、選択可能な切り出し設定情報のFNUMを、例えば3以上のみにしたりするなど、切り出し設定情報に制限が設けられてもよい。なお、消費電力を抑えるための切り出し設定情報が別途用意されてもよい。 If the remaining battery level is below 20%, for example, in order to reduce transmission power, the extraction setting information may be set to increase the number of frames transmitted at one time, or the F NUM of the selectable extraction setting information may be set. For example, restrictions may be placed on the cutout setting information, such as limiting the number to 3 or more. Note that cutout setting information for reducing power consumption may be prepared separately.
 例えば、通信状況が悪い場合、通信状況が悪化傾向にある場合、または処理負荷が高い場合、切り出し設定情報は、ビットレートを下げ、かつ再送回数が増えるように決定される。逆に通信状況がよい場合、または、通信状況が改善傾向にある場合、かつ、処理負荷が低い場合、切り出し設定情報は、ビットレートを上げる方向に決定される。 For example, when the communication situation is poor, the communication situation is deteriorating, or the processing load is high, the cutout setting information is determined to lower the bit rate and increase the number of retransmissions. On the other hand, when the communication situation is good, or when the communication situation is improving, and when the processing load is low, the cutout setting information is determined to increase the bit rate.
 例えば、デフォルトの切り出し設定情報が<1、4N>の場合に通信状況が悪化傾向にあると判定された場合、切り出し設定情報は<2、3N>に更新される。逆に通信状況がよいと判定された場合、切り出し設定情報は<1、5N>に更新される。 For example, if the default cutout setting information is <1, 4N> and it is determined that the communication situation is in a deteriorating trend, the cutout setting information is updated to <2, 3N>. Conversely, if it is determined that the communication situation is good, the cutout setting information is updated to <1, 5N>.
 さらに、ユーザにより選択された設定に従い、切り出し設定情報を決定する場合、例えば、設計時にビットレートが最大となる「音質優先」や、接続安定性を優先する「接続優先」などの選択肢が用意され、切り出し設定情報の設定とユーザに提示する選択肢の関係が予め決められている。そして、通信前もしくは通信中にユーザが選択した選択肢に応じて切り出し設定情報が設定される。 Furthermore, when determining the cutout setting information according to the settings selected by the user, options such as "Sound quality priority" which gives priority to the maximum bit rate and "Connection priority" which gives priority to connection stability are provided at the time of design. , the relationship between the settings of the cutout setting information and the options presented to the user is determined in advance. Then, the cutout setting information is set according to the option selected by the user before or during communication.
 符号化データ切り出し部22は、記憶領域から1フレームの符号化データのうち、切り出し設定決定部21から供給された切り出し設定情報のCutSZに相当する符号化データのみを読み出し、終端処理部23に出力する。すなわち、第1の実施の形態においては、切り出し設定情報のCutSZに相当する符号化データ以外は、読みだされず、受信器12に送信されない。 The encoded data cutout section 22 reads only the encoded data corresponding to Cut SZ of the cutout setting information supplied from the cutout setting determination section 21 out of the encoded data of one frame from the storage area, and sends it to the termination processing section 23. Output. That is, in the first embodiment, encoded data other than the encoded data corresponding to Cut SZ of the cutout setting information is not read out or transmitted to the receiver 12.
 終端処理部23は、符号化データ切り出し部22から供給された符号化データ(切り出しデータ)に対し、例えば、すべてのビットが1の1バイトのデータである終端識別子を付加し、送信データ構成部24に出力する。 The termination processing unit 23 adds a termination identifier, which is, for example, 1-byte data in which all bits are 1, to the encoded data (cutout data) supplied from the encoded data extraction unit 22, and adds the termination identifier to the encoded data (cutout data) supplied from the encoded data extraction unit 22. Output to 24.
 送信データ構成部24は、切り出し設定決定部21から供給された切り出し設定情報のうちのFNUMと同一の数となるまで終端処理部23から供給された符号化データを一時的に保持し、同一の数となった時点で、送信処理部25にまとめて出力する。 The transmission data configuration unit 24 temporarily holds the encoded data supplied from the termination processing unit 23 until the number of encoded data equal to F NUM of the extraction setting information supplied from the extraction setting determination unit 21, and When the number reaches , the data are collectively output to the transmission processing section 25.
 ただし、上述したように、FNUMとCutSZが途中で更新される可能性があるため、送信処理部25に供給するタイミングは更新内容に応じて変更される。例えば、FNUMが1の場合、送信データ構成部24は、符号化データを送信処理部25に即座に出力する。FNUMが2の場合、送信データ構成部24は、符号化データを2フレーム分受けとり、2フレーム分の符号化データを1つに連結し、送信処理部25に出力する。 However, as described above, since F NUM and Cut SZ may be updated midway through, the timing of supplying them to the transmission processing unit 25 is changed depending on the updated contents. For example, when F NUM is 1, the transmission data configuration section 24 immediately outputs the encoded data to the transmission processing section 25. When F NUM is 2, the transmission data configuration section 24 receives two frames of encoded data, concatenates the two frames of encoded data into one, and outputs it to the transmission processing section 25 .
 また、FNUMが3であったものが2に更新され、かつ、FNUMが3の状態で準備した符号化データを保持している場合、送信データ構成部24は、保持している符号化データを送信処理部25に即座に出力し、FNUMが2の符号化データの準備を新たに開始する。 Further, when F NUM is updated from 3 to 2, and the encoded data prepared with F NUM 3 is held, the transmission data configuration unit 24 updates the stored encoded data. The data is immediately output to the transmission processing unit 25, and preparation of encoded data with F NUM of 2 is newly started.
 逆に、FNUMが3であったものが4に更新され、FNUMが3の状態で準備した符号化データを保持しており、かつ、新たに連結する符号化データを準備済みの符号化データに連結するとパケットサイズが超える場合も考えられる。この場合、送信データ構成部24は、保持している符号化データを送信処理部25に即座に出力し、FNUMが4の符号化データの準備を新たに開始する。 Conversely, F NUM of 3 is updated to 4, and the coded data that was prepared with F NUM of 3 is retained, and the coded data to be newly concatenated is changed to the prepared coded data. When concatenated with data, the packet size may exceed the size. In this case, the transmission data configuration unit 24 immediately outputs the encoded data it holds to the transmission processing unit 25, and newly starts preparing encoded data with F NUM of 4.
 パケットサイズを超えない場合、送信データ構成部24は、FNUMが4になるまで準備を継続し、4になったタイミングで符号化データを送信処理部25に出力する。送信処理部25に供給された符号化データの塊は、受信器12に送信される。 If the packet size is not exceeded, the transmission data configuration unit 24 continues preparation until F NUM reaches 4, and outputs the encoded data to the transmission processing unit 25 at the timing when F NUM reaches 4. The encoded data chunk supplied to the transmission processing section 25 is transmitted to the receiver 12.
 受信器12は、送信器11から符号化データの塊を受信すると、図示せぬ一時記憶領域(以下、受信バッファと称する)に格納する。受信器12は、格納された符号化データが一定個数または一定データサイズだけ蓄積されると、受信バッファから1フレーム分の符号化データを読み出し、復号し、逆量子化し、音声データを合成し、図示せぬ出力系によりスピーカなどで再生する。 When the receiver 12 receives a chunk of encoded data from the transmitter 11, it stores it in a temporary storage area (hereinafter referred to as a reception buffer) not shown. When a certain number of stored encoded data or a certain data size are accumulated, the receiver 12 reads one frame of encoded data from the reception buffer, decodes it, dequantizes it, synthesizes audio data, It is reproduced by a speaker or the like using an output system (not shown).
 図4の受信器12は、ビットストリーム読み出し部31、復号部32、逆量子化部33、および信号合成部34を含むように構成される。 The receiver 12 in FIG. 4 is configured to include a bitstream reading section 31, a decoding section 32, a dequantizing section 33, and a signal combining section 34.
 ビットストリーム読み出し部31は、受信バッファから1フレーム分の符号化データを読み出し、読みだした符号化データと、終端処理部23により付加された終端識別子を含まないデータサイズ(=切り出し後のデータサイズ)を示す情報とを復号部32に出力する。 The bitstream reading unit 31 reads one frame worth of encoded data from the reception buffer, and combines the read encoded data with the data size (=data size after cutting out) not including the termination identifier added by the termination processing unit 23. ) is output to the decoding unit 32.
 本実施の形態における符号化データのヘッダ情報には、元の1フレームのフレームサイズ(切り出し前のデータサイズ)が記録されている。なお、切り出し後のデータサイズをヘッダ情報に含めるようにしてもよい。以降、切り出し後のデータサイズをヘッダ情報に含めない場合の読み出し方法を説明する。 In the header information of encoded data in this embodiment, the frame size of one original frame (data size before cutting out) is recorded. Note that the data size after extraction may be included in the header information. Hereinafter, a reading method when the data size after extraction is not included in the header information will be explained.
 上述したように、符号化データは、切り出し単位(先頭ビット出現間隔)Nバイトごとに値が“0”のビットが出現することが特徴である。また、切り出し後の終端処理により、切り出し単位ごとの符号化データの先頭1ビット(以下、先頭ビットとも称する)に、値が“1”の終端識別子が付加されている。 As described above, encoded data is characterized in that a bit with a value of "0" appears every N bytes in the cutout unit (first bit appearance interval). Furthermore, due to the termination process after the extraction, a termination identifier with a value of "1" is added to the first bit (hereinafter also referred to as the beginning bit) of the encoded data for each extraction unit.
 すなわち、ビットストリーム読み出し部31は、Nバイト読み出す度に先頭ビットが“0”であることを確認することで、読み出したデータが1フレーム内のデータであるか否かを判定する。したがって、ビットストリーム読み出し部31は、先頭ビットが“1”となったら終端識別子と判定し、次のフレームの先頭に読み進めることができる。本実施の形態においては、終端識別子を1バイトとしているため、1バイト先が次フレームの先頭になる。 That is, the bitstream reading unit 31 determines whether the read data is data within one frame by checking that the first bit is "0" every time N bytes are read. Therefore, when the first bit becomes "1", the bit stream reading unit 31 determines that it is the end identifier, and can read forward to the beginning of the next frame. In this embodiment, since the end identifier is 1 byte, the next byte becomes the beginning of the next frame.
 以上のように読み出すことでヘッダ情報に切り出し後のデータサイズを含めることなく、切り出された1フレーム分の符号化データを読み出すことができる。 By reading as described above, it is possible to read out one frame's worth of extracted encoded data without including the data size after extraction in the header information.
 なお、切り出し単位の先頭ビットと終端識別子の先頭ビットとが識別できればよく、切り出し単位の先頭ビットの値を“1”とし、終端識別子の先頭ビットの値を“0”としてもよい。また、切り出し単位の先頭ビットおよび終端識別子の先頭ビットともに“0”や“1”以外の値や記号を取るようにしてもよい。 Note that it is only necessary that the first bit of the extraction unit and the first bit of the terminal identifier can be distinguished, and the value of the first bit of the extraction unit may be set to "1" and the value of the first bit of the terminal identifier may be set to "0". Further, both the first bit of the extraction unit and the first bit of the terminal identifier may take values or symbols other than "0" or "1".
 復号部32は、ビットストリーム読み出し部31から供給される符号化データを先頭ビット出現間隔Nごとに値が“0”のビットを読み飛ばしながら復号し、復号済み信号と、復号された範囲情報(以降、復号範囲情報)とを逆量子化部33に出力する。例えば、復号部32は、ビットストリーム読み出し部31から供給されたデータサイズの範囲で、正しく復号できる情報までを処理し、残りの復号できない情報については、例えば、ゼロを出力する。 The decoding unit 32 decodes the encoded data supplied from the bitstream reading unit 31 while skipping bits with a value of “0” at every leading bit appearance interval N, and generates a decoded signal and decoded range information ( Thereafter, the decoding range information) is output to the inverse quantization unit 33. For example, the decoding unit 32 processes information that can be correctly decoded within the data size range supplied from the bitstream reading unit 31, and outputs, for example, zero for the remaining information that cannot be decoded.
 例えば、供給されたデータサイズが100バイトであり、先頭から99バイトと4ビット目まで復号しており、次の復号に7ビット必要な場合、復号部32は、復号に必要なビット数が足りないと判定し、以降はゼロを出力する。復号範囲情報は、例えば、100番目の周波数スペクトルまで復号した場合、100が出力される。 For example, if the supplied data size is 100 bytes, and the 99th byte and 4th bit from the beginning are decoded, and 7 bits are required for the next decoding, the decoding unit 32 detects that the number of bits necessary for decoding is insufficient. It is determined that there is no such value, and zero is output from then on. For example, when the 100th frequency spectrum is decoded, 100 is output as the decoding range information.
 逆量子化部33は、復号部32から供給された復号済み信号を逆量子化し、逆量子化により得られた周波数スペクトルと、供給された復号範囲情報や各周波数帯域のScale Factorなどのサブ情報とを信号合成部34に出力する。逆量子化は、例えば、各周波数帯域のScale Factor情報を用いて供給された周波数スペクトルの値を戻す処理である。例えば、Scale Factorが128、復号済み信号が0.75であった場合には、逆量子化後の値、すなわち、元の周波数スペクトルの値はこれらを積算した96と求められる。 The dequantization unit 33 dequantizes the decoded signal supplied from the decoding unit 32, and generates a frequency spectrum obtained by dequantization and sub-information such as supplied decoding range information and Scale Factor of each frequency band. and is output to the signal synthesis section 34. Inverse quantization is, for example, a process of returning the value of the supplied frequency spectrum using Scale Factor information of each frequency band. For example, if the Scale Factor is 128 and the decoded signal is 0.75, the value after dequantization, that is, the value of the original frequency spectrum, is calculated as 96, which is the sum of these values.
 信号合成部34は、逆量子化部33から供給された復号範囲情報、周波数帯域のScale Factor情報などのサブ情報、および周波数スペクトルを用いて、音声信号を合成し、図示せぬ後段の処理ブロックに出力する。後段の処理ブロックは、供給された音声信号に対して、例えばイコライジングなどの音声信号処理を施し、スピーカなどで再生する。 The signal synthesis unit 34 synthesizes the audio signal using sub-information such as decoding range information and frequency band Scale Factor information supplied from the dequantization unit 33, and the frequency spectrum, and synthesizes the audio signal to a subsequent processing block (not shown). Output to. The subsequent processing block performs audio signal processing such as equalization on the supplied audio signal, and reproduces it through a speaker or the like.
 音声信号の合成は、復号範囲情報に含まれない周波数スペクトルを補間した上で周波数時間変換し、音声信号を合成する。周波数領域上での補間は、例えば、復号範囲情報に含まれない周波数帯域のScale Factor情報と復号された周波数スペクトル、およびこの周波数スペクトルが含まれる周波数帯域のScale Factor情報を用いて、Scale Factorの比率を周波数スペクトルに乗算することで行われる。または、例えば、事前に学習したAI(Artificial Intelligence)により、以前に復号された情報から復号範囲情報に含まれない周波数スペクトルを推測させてもよい。以上のように、今回復号された情報と以前に復号された情報は一緒に用いられてもよい。 The audio signal is synthesized by interpolating the frequency spectrum that is not included in the decoding range information and then performing frequency-time conversion. Interpolation in the frequency domain can be performed using, for example, the Scale Factor information of a frequency band that is not included in the decoding range information, the decoded frequency spectrum, and the Scale Factor information of the frequency band that includes this frequency spectrum. This is done by multiplying the frequency spectrum by a ratio. Alternatively, for example, a frequency spectrum that is not included in the decoding range information may be estimated from previously decoded information using AI (Artificial Intelligence) learned in advance. As described above, the currently decrypted information and previously decrypted information may be used together.
 なお、本実施の形態では、上述したように、説明を簡単にするために、送られる情報が周波数スペクトルに関するものとしたため、周波数領域で補間する例を示したが、時間波形に関する情報も送ることができる。例えば、時間波形を帯域分割した後の包絡波形情報を送る場合には、補間は、周波数時間変換後に追加で行われるようにしてもよい。 Note that in this embodiment, as described above, in order to simplify the explanation, the information to be sent is related to the frequency spectrum, so an example of interpolation in the frequency domain is shown, but information related to the time waveform may also be sent. Can be done. For example, when transmitting envelope waveform information after band-dividing a time waveform, interpolation may be additionally performed after frequency-time conversion.
 <送信器の処理>
 図5は、送信器11の処理を説明するフローチャートである。
<Transmitter processing>
FIG. 5 is a flowchart illustrating the processing of the transmitter 11.
 送信器11においては、再生が開始されると、図5に示される処理が間歇的に起動され、起動時間の間隔に応じたフレーム数が処理される。例えば、1フレームが10ミリ秒の符号化データの再生が開始され、0ミリ秒、48ミリ秒、105ミリ秒、140ミリ秒と、約50ミリ秒間隔で、図5に示される処理が起動された場合には、各起動時に5フレーム分がそれぞれ処理される。また、図中の準備済み符号化データは、説明を簡単にするために、符号化データ切り出し部22により用いられるデータであり、再生開始時に0クリアされるものとする。 In the transmitter 11, when playback is started, the process shown in FIG. 5 is activated intermittently, and the number of frames according to the activation time interval is processed. For example, playback of encoded data in which one frame is 10 ms is started, and the processing shown in FIG. 5 is started at approximately 50 ms intervals such as 0 ms, 48 ms, 105 ms, and 140 ms. In this case, five frames are processed at each startup. Furthermore, for the sake of simplicity, the prepared encoded data in the figure is data used by the encoded data cutout section 22, and is cleared to 0 at the start of reproduction.
 図5のステップS11において、切り出し設定決定部21は、切り出し設定決定処理を行う。切り出し設定決定処理は、図6を参照して後述される。ステップS11の処理により、<FNUM、CutSZ>が算出される。 In step S11 of FIG. 5, the cutout setting determination unit 21 performs cutout setting determination processing. The cutout setting determination process will be described later with reference to FIG. Through the process in step S11, <F NUM , Cut SZ > is calculated.
 ステップS12において、符号化データ切り出し部22は、準備済み符号化データに算出されたCutSZ分の符号化データを読み足したものが、1回の最大送信サイズに収まるか否かを判定する。なお、図中の“+1”は終端処理で付加される“0xFF”のデータサイズを示す。 In step S12, the encoded data cutting unit 22 determines whether or not the prepared encoded data plus the encoded data calculated for Cut SZ fits within the maximum transmission size for one time. Note that "+1" in the figure indicates the data size of "0xFF" added in the termination process.
 ステップS12において、準備済み符号化データに算出されたCutSZ分の符号化データを読み足したものが、1回の最大送信サイズに収まると判定された場合、処理は、ステップS13に進む。 If it is determined in step S12 that the prepared encoded data plus the calculated Cut SZ worth of encoded data fits within the maximum transmission size for one time, the process proceeds to step S13.
 ステップS13において、符号化データ切り出し部22は、算出されたCutSZ分の符号化データをフレーム先頭から読み出し、準備済み符号化データの最後尾に書き込む。 In step S13, the encoded data cutting unit 22 reads the encoded data for the calculated Cut SZ from the beginning of the frame and writes it to the end of the prepared encoded data.
 ステップS14において、終端処理部23は、“0xFF”を準備済み符号化データの最後尾に書き込む。 In step S14, the termination processing unit 23 writes "0xFF" to the end of the prepared encoded data.
 ステップS15において、送信データ構成部24は、準備済み符号化データに書き込んだフレーム数である準備済みフレーム数が、算出されたFNUM未満であるか否かを判定する。 In step S15, the transmission data configuration unit 24 determines whether the number of prepared frames, which is the number of frames written in the prepared encoded data, is less than the calculated F NUM .
 ステップS15において、準備済みフレーム数が、算出されたFNUM未満ではないと判定された場合、すなわち、準備済みフレーム数が、算出されたFNUMになったと判定された場合、処理は、ステップS16に進む。 If it is determined in step S15 that the number of prepared frames is not less than the calculated F NUM , that is, if it is determined that the number of prepared frames has reached the calculated F NUM , the process proceeds to step S16. Proceed to.
 また、ステップS12において、準備済み符号化データに算出されたCutSZ分の符号化データを読み足したものが、1回の最大送信サイズに収まらないと判定された場合も、処理は、ステップS16に進む。 Further, if it is determined in step S12 that the coded data calculated for Cut SZ added to the prepared coded data does not fit within the maximum transmission size for one time, the process continues in step S16. Proceed to.
 ステップS16において、送信データ構成部24は、準備済み符号化データを送信処理部25に出力する。 In step S16, the transmission data configuration unit 24 outputs the prepared encoded data to the transmission processing unit 25.
 ステップS17において、送信データ構成部24は、準備済み符号化データの情報をクリアする。その後、処理は、ステップS18に進む。 In step S17, the transmission data configuration unit 24 clears the information on the prepared encoded data. After that, the process proceeds to step S18.
 一方、ステップS15において、準備済みフレーム数が算出されたFNUM未満であると判定された場合も、処理は、ステップS18に進む。 On the other hand, if it is determined in step S15 that the number of prepared frames is less than the calculated F NUM , the process also proceeds to step S18.
 ステップS18において、送信データ構成部24は、今回の起動タイミングで処理すべき分(フレーム数)を完了したか否かを判定する。今回の起動タイミングで処理すべき分を完了していないとステップS18において判定された場合、処理は、ステップS12に戻り、それ以降の処理が繰り返される。 In step S18, the transmission data configuration unit 24 determines whether or not the number of frames to be processed has been completed at the current startup timing. If it is determined in step S18 that the amount to be processed has not been completed at the current startup timing, the process returns to step S12, and the subsequent processes are repeated.
 ステップS18において、今回の起動タイミングで処理すべき分を完了したと判定された場合、図5の送信器11の処理は終了となる。 In step S18, if it is determined that the processing to be processed at the current startup timing has been completed, the processing of the transmitter 11 in FIG. 5 ends.
 <切り出し設定決定処理>
 図6は、図5のステップS11の切り出し設定決定処理を説明するフローチャートである。
<Cutout setting determination process>
FIG. 6 is a flowchart illustrating the extraction setting determination process in step S11 of FIG.
 図6のステップS31において、切り出し設定決定部21は、通信状況を推測(推定)する。 In step S31 of FIG. 6, the cutout setting determining unit 21 estimates (estimates) the communication status.
 ステップS32において、切り出し設定決定部21は、処理負荷を推測(推定)する。 In step S32, the cutout setting determining unit 21 estimates (estimates) the processing load.
 ステップS33において、切り出し設定決定部21は、傾向分析を行う。 In step S33, the cutout setting determining unit 21 performs a trend analysis.
 ステップS34において、切り出し設定決定部21は、通信状況が悪い、または、通信状況が悪化傾向であるか否かを判定する。通信状況が悪くない、かつ、通信状況が悪化傾向ではないとステップS34において判定された場合、処理は、ステップS35に進む。 In step S34, the cutout setting determining unit 21 determines whether the communication situation is bad or is on a downward trend. If it is determined in step S34 that the communication situation is not bad and that the communication situation is not in a deteriorating trend, the process proceeds to step S35.
 ステップS35において、切り出し設定決定部21は、処理負荷が高いか否かを判定する。処理負荷が高いとステップS35において判定された場合、処理は、ステップS36に進む。 In step S35, the cutout setting determining unit 21 determines whether the processing load is high. If it is determined in step S35 that the processing load is high, the process proceeds to step S36.
 また、ステップS34において、通信状況が悪い、または、通信状況が悪化傾向であると判定された場合も、処理は、ステップS36に進む。 Furthermore, if it is determined in step S34 that the communication situation is poor or that the communication situation is on the decline, the process also proceeds to step S36.
 ステップS36において、切り出し設定決定部21は、通信の成功率を向上させるための処理を行う。図6においては、例えば、1回の送信で送るフレーム数を増やす。これにより、失敗した際の再送回数を増やすことができる。すなわち、1回の送信で送るフレーム数を増加させると、送信間隔が広がり、送信間隔が広がることで、再送信するための時間が稼げることになる。具体的には、1フレームが1秒、1回の送信が0.5秒かかるとすると、1回に送信するフレーム数が5であれば、5秒間隔で送ることになり、再送信できる時間は5秒から1回目の送信時間0.5秒を差し引いた4.5秒の間となり、回数に換算すると9回になる。これを1フレーム増加させると、5.5秒間再送できることになり、再送回数に換算すると11回になる。 In step S36, the cutout setting determining unit 21 performs processing to improve the success rate of communication. In FIG. 6, for example, the number of frames sent in one transmission is increased. This makes it possible to increase the number of retransmissions in the event of failure. That is, when the number of frames sent in one transmission is increased, the transmission interval becomes wider, and by widening the transmission interval, time for retransmission can be acquired. Specifically, if one frame takes 1 second and one transmission takes 0.5 seconds, if the number of frames to be sent at one time is 5, it will be sent at 5 second intervals, which will reduce the retransmission time. is 4.5 seconds, which is obtained by subtracting 0.5 seconds of the first transmission time from 5 seconds, which is 9 times when converted to the number of times. If this is increased by one frame, it will be possible to retransmit for 5.5 seconds, which will be 11 times when converted to the number of retransmissions.
 具体的には、ステップS36において、切り出し設定決定部21は、FNUMを1つ増加させる。ただし、FNUMの最大値が初期化時に計算されたFNUM_MAXを超えてはならないため、切り出し設定決定部21は、2入力の最小値をとるMIN関数により最終の値を決定する(FNUM=MIN(FNUM+1、FNUM_MAX))。 Specifically, in step S36, the cutout setting determining unit 21 increases F NUM by one. However, since the maximum value of F NUM must not exceed F NUM_MAX calculated at the time of initialization, the cutout setting determining unit 21 determines the final value using the MIN function that takes the minimum value of the two inputs (F NUM = MIN(F NUM +1, F NUM_MAX )).
 ステップS37において、切り出し設定決定部21は、算出したFNUMをもとにCutSZを設定する。例えば、CutSZには、算出されたFNUMの時にCutSZが取り得る最小の値であるCutSZ_MINが設定される(CutSZ=CutSZ_MIN@FNUM)。 In step S37, the cutting setting determining unit 21 sets Cut SZ based on the calculated F NUM . For example, Cut SZ_MIN , which is the minimum value that Cut SZ can take at the calculated F NUM , is set to Cut SZ (Cut SZ = Cut SZ_MIN @F NUM ).
 例えば、上述した初期化の際に算出された<FNUM、CutSZ>が<1、2N乃至6N>、<2、2Nまたは3N>、<3、2N>の場合に、FNUM_MINは1、FNUM_MAXは3になる。例えば、FNUMが2の時のCutSZ_MINは2N、CutSZ_MAXは3Nになる。 For example, if <F NUM , Cut SZ > calculated during the initialization described above is <1, 2N to 6N>, <2, 2N or 3N>, <3, 2N>, F NUM_MIN is 1, F NUM_MAX becomes 3. For example, when F NUM is 2, Cut SZ_MIN is 2N and Cut SZ_MAX is 3N.
 ステップS37の後、図6の切り出し設定決定処理は終了となる。 After step S37, the cutout setting determination process in FIG. 6 ends.
 一方、ステップS35において、処理負荷が低いと判定された場合、処理は、ステップS38に進む。 On the other hand, if it is determined in step S35 that the processing load is low, the process proceeds to step S38.
 ステップS38において、切り出し設定決定部21は、良好な状況が規定時間継続されたか否かを判定する。良好な状況が規定時間継続されたとステップS38において判定された場合、処理は、ステップS39に進む。 In step S38, the cutout setting determining unit 21 determines whether the favorable situation has continued for a specified period of time. If it is determined in step S38 that the favorable situation has continued for the specified time, the process proceeds to step S39.
 ステップS39において、切り出し設定決定部21は、新しいCutSZが現CutSZ+Nとなるように算出する(CutSZ=CutSZ+N)。 In step S39, the cutting setting determining unit 21 calculates the new Cut SZ to be the current Cut SZ +N (Cut SZ =Cut SZ +N).
 ステップS40において、切り出し設定決定部21は、算出したCutSZが、現在のFNUMで取り得る最大のCutSZ、すなわちCutSZ_MAXを超えるか否かを判定する(CutSZ>CutSZ_MAX@FNUM)。 In step S40, the cutout setting determining unit 21 determines whether the calculated Cut SZ exceeds the maximum Cut SZ that can be obtained by the current F NUM , that is, Cut SZ_MAX (Cut SZ > Cut SZ_MAX @F NUM ). .
 ステップS40において、算出したCutSZが、現在のFNUMで取り得る最大のCutSZ、すなわちCutSZ_MAXを超えると判定された場合、処理は、ステップS41に進む。 If it is determined in step S40 that the calculated Cut SZ exceeds the maximum Cut SZ that can be taken by the current F NUM , that is, Cut SZ_MAX , the process proceeds to step S41.
 ステップS41において、切り出し設定決定部21は、FNUMを1つ減らす方向に更新する(FNUM=MAX(FNUM-1、FNUM_MIN))。 In step S41, the cutout setting determining unit 21 updates F NUM in the direction of decreasing it by one (F NUM = MAX (F NUM -1, F NUM_MIN )).
 ステップS42において、切り出し設定決定部21は、CutSZと、算出されたFNUMで取り得る最小のCutSZとを比較し、大きい方の値をCutSZに設定する(CutSZ=MAX(CutSZ、CutSZ_MIN@FNUM))。ステップS42の後、図6の切り出し設定決定処理は終了となる。 In step S42, the cutout setting determining unit 21 compares Cut SZ with the minimum Cut SZ that can be obtained with the calculated F NUM , and sets the larger value to Cut SZ (Cut SZ = MAX (Cut SZ , Cut SZ_MIN @F NUM )). After step S42, the cutout setting determination process in FIG. 6 ends.
 一方、ステップS38において、良好な状況が規定時間継続されなかったと判定された場合、または、ステップS40において、算出したCutSZが、現在のFNUMで取り得る最大のCutSZ、すなわちCutSZ_MAXを超えなかったと判定された場合も、図6の切り出し設定決定処理は終了となる。 On the other hand, if it is determined in step S38 that the favorable situation has not continued for the specified time, or in step S40, the calculated Cut SZ exceeds the maximum Cut SZ possible with the current F NUM , that is, Cut SZ_MAX . Even if it is determined that there is no cutout setting determination process in FIG. 6, the cutout setting determination process in FIG. 6 ends.
 <受信器の処理>
 図7は、受信器12の処理を説明するフローチャートである。
<Receiver processing>
FIG. 7 is a flowchart illustrating the processing of the receiver 12.
 受信器12においては、再生が開始されると、図7に示した処理が間歇的に呼び出され、1フレーム分の音声データが生成される。 In the receiver 12, when playback is started, the process shown in FIG. 7 is intermittently called, and one frame of audio data is generated.
 図7のステップS51において、ビットストリーム読み出し部31は、切り出し後のデータサイズ(DataSZ)にゼロを設定し(DataSZ=0)、受信バッファから1フレーム分の受信データを取得する。 In step S51 of FIG. 7, the bitstream reading unit 31 sets the data size after extraction (Data SZ ) to zero (Data SZ = 0), and obtains one frame's worth of received data from the reception buffer.
 ステップS52において、ビットストリーム読み出し部31は、受信データから1バイトを取得する。 In step S52, the bitstream reading unit 31 obtains one byte from the received data.
 ステップS53において、ビットストリーム読み出し部31は、先頭ビットが0であるか否かを判定する。先頭ビットが0であるとステップS53において判定された場合、処理は、ステップS54に進む。 In step S53, the bitstream reading unit 31 determines whether the first bit is 0 or not. If it is determined in step S53 that the first bit is 0, the process proceeds to step S54.
 ステップS54において、ビットストリーム読み出し部31は、受信データからN-1バイトを取得する。 In step S54, the bitstream reading unit 31 obtains N-1 bytes from the received data.
 ステップS55において、ビットストリーム読み出し部31は、取得したデータサイズの分だけDataSZを更新する(DataSZ+=N)。 In step S55, the bitstream reading unit 31 updates Data SZ by the acquired data size (Data SZ +=N).
 ステップS55の後、処理は、ステップS52に戻り、それ以降の処理が繰り返される。 After step S55, the process returns to step S52, and the subsequent processes are repeated.
 一方、ステップS53において、先頭ビットが0ではないと判定された場合、処理は、ステップS56に進む。 On the other hand, if it is determined in step S53 that the first bit is not 0, the process proceeds to step S56.
 ステップS56において、復号部32は、復号処理を行う。復号処理の詳細は、図8を参照して後述される。 In step S56, the decoding unit 32 performs decoding processing. Details of the decoding process will be described later with reference to FIG.
 ステップS57において、逆量子化部33は、逆量子化処理を行う。 In step S57, the dequantization unit 33 performs dequantization processing.
 ステップS58において、信号合成部34は、波形合成処理を行う。波形合成処理により音声データが合成され、後段に出力される。ステップS58の後、図7の受信器12の処理は終了となる。 In step S58, the signal synthesis unit 34 performs waveform synthesis processing. Audio data is synthesized by waveform synthesis processing and output to the subsequent stage. After step S58, the processing of the receiver 12 in FIG. 7 ends.
 図8は、図7のステップS56の復号処理について説明するフローチャートである。 FIG. 8 is a flowchart illustrating the decoding process of step S56 in FIG. 7.
 なお、図8の復号処理においては、使用済みビット数(BNUsed)、次のサンプルを復号するために必要なビット数(BNNext)、および供給された符号化データサイズのビット換算値(BNTotal=DataSZ*8)を比較し、復号処理に必要なビット数がある場合に限り処理が継続される。 In the decoding process shown in FIG. 8, the number of used bits (BN Used ), the number of bits required to decode the next sample (BN Next ), and the bit conversion value of the supplied encoded data size (BN Total = Data SZ *8) is compared, and processing is continued only if there is the number of bits necessary for decoding processing.
 図8のステップS71において、復号部32は、BNUsedを0に設定する(BNUsed=0)。 In step S71 of FIG. 8, the decoding unit 32 sets BN Used to 0 (BN Used = 0).
 ステップS72において、復号部32は、次の復号に必要なビット数であるBNNextを取得する。 In step S72, the decoding unit 32 obtains BN Next , which is the number of bits required for the next decoding.
 なお、BNNextは、規格で予め定義された値の場合もあれば、BNNextの値を示す情報が符号化データに記録されている場合もあるが、本実施の形態においては、説明を簡単にするために規格で予め定義されている値であるとする。また、BNNextの値を示す情報が符号化データに記録されている場合であったとしても、以降で説明するBNNext分のビットを読み込むのと同様の手順で行うことができる。 Note that BN Next may be a value predefined by the standard, or information indicating the value of BN Next may be recorded in the encoded data, but in this embodiment, the explanation will be simplified. It is assumed that the value is predefined in the standard for the purpose of Further, even if information indicating the value of BN Next is recorded in the encoded data, the same procedure as for reading the bits for BN Next , which will be described later, can be performed.
 ステップS73において、復号部32は、BNNext分のビットを読み込んだ際に、切り出し単位(Nバイト境界)を跨がないか否かを判定する。Nバイト境界を跨がないとステップS73において判定された場合、処理は、ステップS74に進む。 In step S73, the decoding unit 32 determines whether or not a cutting unit (N byte boundary) is not crossed when reading the BN Next bits. If it is determined in step S73 that the N byte boundary is not crossed, the process proceeds to step S74.
 ステップS74において、復号部32は、BNNext分のビットをさらに読み出してもBNTotalを超えないか否かを判定する(BNUsed+BNNext<BNTotal)。BNNext分のビットをさらに読み出してもBNTotalを超えないとステップS74において判定された場合、処理は、ステップS75に進む。 In step S74, the decoding unit 32 determines whether or not BN Total will not be exceeded even if the bits corresponding to BN Next are further read out (BN Used +BN Next <BN Total ). If it is determined in step S74 that the BN Total will not be exceeded even if BN Next bits are further read, the process proceeds to step S75.
 ステップS75において、復号部32は、BNNext分のビットを実際に読み出し、1つの値を復号する。 In step S75, the decoding unit 32 actually reads out the bits corresponding to BN Next and decodes one value.
 ステップS76において、復号部32は、BNUsedをBNNext分のビット数だけ更新する(BNUsed+=BNNext)。 In step S76, the decoding unit 32 updates BN Used by the number of bits corresponding to BN Next (BN Used +=BN Next ).
 ステップS76の後、処理は、ステップS83に進む。 After step S76, the process proceeds to step S83.
 一方、ステップS73において、BNNext分のビットを読み込んだ際に、Nバイト境界を跨ぐと判定された場合、処理は、ステップS77に進む。 On the other hand, if it is determined in step S73 that the N byte boundary is crossed when reading the BN Next bits, the process proceeds to step S77.
 ステップS77において、復号部32は、BNNext分のビットに加え、Nバイトごとに出現する0の1ビットをさらに読み出してもBNTotalを超えないか否かを判定する(BNUsed+BNNext+1<BNTotal)。 In step S77, the decoding unit 32 determines whether or not BN Total will not be exceeded even if the 1 bit of 0 that appears every N bytes is further read out in addition to the bits for BN Next (BN Used +BN Next +1< BN Total ).
 ステップS77において、BNTotalを超えないと判定された場合、処理は、ステップS78に進む。 If it is determined in step S77 that the BN Total is not exceeded, the process proceeds to step S78.
 ステップS78において、復号部32は、Nバイト境界までのビット数(BNRead)を算出する。 In step S78, the decoding unit 32 calculates the number of bits up to the N-byte boundary (BN Read ).
 算出は、例えば、次の式(1)に示されるように、N*8の倍数でBNUsed+BNNextを超えない最大の値を求め、BNUsedとの差分をとることで行われる。
Figure JPOXMLDOC01-appb-M000001
The calculation is performed, for example, by finding the maximum value that does not exceed BN Used + BN Next as a multiple of N*8, and taking the difference from BN Used , as shown in the following equation (1).
Figure JPOXMLDOC01-appb-M000001
 ステップS79において、復号部32は、算出したBNRead分のビットを読み出す。 In step S79, the decoding unit 32 reads out the calculated bits of BN Read .
 ステップS80において、復号部32は、Nバイト境界に出現する“0”をスキップするために1ビット読み飛ばす。 In step S80, the decoding unit 32 skips 1 bit in order to skip "0" appearing on the N-byte boundary.
 ステップS81において、復号部32は、残りの必要ビットBNNext-BNRead分をさらに読み出す。 In step S81, the decoding unit 32 further reads the remaining necessary bits BN Next - BN Read .
 ステップS82において、復号部32は、読み出した総ビット数でBNUsedを更新する(BNUsed+=BNNext+1)。 In step S82, the decoding unit 32 updates BN Used with the total number of read bits (BN Used +=BN Next +1).
 ステップS83において、復号部32は、すべての値の復号が完了したか否かを判定する。すべての値の復号がまだ完了していないとステップS83において判定された場合、処理は、ステップS72に戻り、それ以降の処理が繰り返される。 In step S83, the decoding unit 32 determines whether decoding of all values has been completed. If it is determined in step S83 that the decoding of all values has not been completed yet, the process returns to step S72 and the subsequent processes are repeated.
 ステップS83において、すべての値の復号が完了したと判定された場合、処理は、ステップS84に進む。 If it is determined in step S83 that decoding of all values has been completed, the process proceeds to step S84.
 また、ステップS77において、BNTotalを超えると判定された場合も、処理は、ステップS84に進む。 Further, if it is determined in step S77 that BN Total is exceeded, the process also proceeds to step S84.
 ステップS84において、復号部32は、復号できなかった残りの情報をゼロクリアする。ステップS84の後、図8の復号処理は終了となる。 In step S84, the decoding unit 32 zero-clears the remaining information that could not be decoded. After step S84, the decoding process in FIG. 8 ends.
 以上のように、第1の実施の形態において、ビットレート調整(変更)は、符号化データの切り出しにより実現できる。 As described above, in the first embodiment, bit rate adjustment (change) can be realized by cutting out encoded data.
<2.第2の実施の形態>
 <リアルタイム通信再生システムの構成>
 図9は、本技術の第2の実施の形態に係るリアルタイム通信再生システムの構成例を示す図である。
<2. Second embodiment>
<Configuration of real-time communication playback system>
FIG. 9 is a diagram illustrating a configuration example of a real-time communication playback system according to the second embodiment of the present technology.
 なお、第1の実施の形態の場合、切り出した後に残った符号化データ(すなわち、未送信の符号化データ)は送信されず、そのままになっていたが、第2の実施の形態の送信側においては、通信の空き時間を利用して、切り出した後に残った符号化データが送信される。 Note that in the case of the first embodiment, the encoded data that remained after the extraction (that is, the untransmitted encoded data) was not transmitted and remained as it was, but in the case of the second embodiment, the In this case, the encoded data remaining after the extraction is transmitted using the idle communication time.
 また、第2の実施の形態の受信側においては、符号化データがリアルタイム再生されるとともに記録されることで、後からも再生可能になるとともに、記録されている符号化データに、通信の空き時間を利用して送信されてくる、切り出した後に残った符号化データが追加(統合)される。 In addition, on the receiving side of the second embodiment, the encoded data is played back in real time and recorded, so that it can be played back later, and the recorded encoded data also includes communication free space. The encoded data that remains after being cut out is added (integrated), and is transmitted using time.
 図9のリアルタイム通信再生システム101は、送信器111および受信器112を含むように構成される。 The real-time communication playback system 101 in FIG. 9 is configured to include a transmitter 111 and a receiver 112.
 送信器111は、記憶領域に予め記録された図2の形式からなる符号化データの少なくとも一部を受信器112に送信する。また、送信器111は、通信の空き時間を利用して、未送信の符号化データ(以下、未送信符号化データ)がある場合、切り出した後に残った符号化データである残符号化データを生成し、受信器112に送信する。 The transmitter 111 transmits to the receiver 112 at least part of the encoded data in the format shown in FIG. 2, which is recorded in advance in the storage area. In addition, the transmitter 111 utilizes the idle communication time to transmit the remaining encoded data, which is the encoded data that remains after cutting out, if there is encoded data that has not been transmitted (hereinafter referred to as untransmitted encoded data). and transmits it to the receiver 112.
 具体的には、送信器111は、再生開始指示を受けると、切り出し設定情報を生成し、この情報に応じて、1フレーム分の符号化データを切り出し、終端処理し、一度に送信するデータの塊にまとめたうえで、送信処理部25に出力する。その際、切り出して終端処理された符号化データの情報は、送信履歴情報として保存される。 Specifically, upon receiving a playback start instruction, the transmitter 111 generates cutout setting information, and according to this information, cuts out one frame's worth of encoded data, performs termination processing, and divides the data to be transmitted at once. The information is collected into chunks and output to the transmission processing section 25. At this time, information on the encoded data that has been extracted and terminated is saved as transmission history information.
 また、送信器111は、例えば、再生停止中やメインのデータ通信の隙間時間などに、送信履歴情報を参照して、未送信符号化データに基づいて残符号化データを構成し、受信器112に送信する。 Further, the transmitter 111 refers to the transmission history information and configures the remaining encoded data based on the untransmitted encoded data, for example, while playback is stopped or during a gap between main data communication, and the receiver 112 Send to.
 さらに、送信器111は、通信エラーなどの原因により符号化データの送信を完了できなかったことが分かった場合、送信履歴情報の該当フレームの履歴を更新し、送信できた符号化データが0であるという履歴を残す。これは、一部だけ成功した場合も全データを再送するためであるが、一部だけ送信できなかった履歴を残し、送信できなかった一部だけ再送するようにしてもよい。 Furthermore, if the transmitter 111 finds that the transmission of encoded data could not be completed due to a communication error or the like, it updates the history of the corresponding frame in the transmission history information and indicates that the encoded data that could be transmitted is 0. Leave a history of what happened. This is to retransmit all the data even if only a portion of the data is successful, but it is also possible to leave a history of failures in transmission and retransmit only the portions that could not be transmitted.
 受信器112は、符号化データの少なくとも一部を受信して、リアルタイムに再生しながら、記録する。また、受信器112は、通信の空き時間を利用して送信されてくる残符号化データを受信し、受信した残符号化データを、記録されている符号化データに追加して記録する。これにより、記録したコンテンツの品質をより高品質にしておくことができる。 The receiver 112 receives at least a portion of the encoded data and records it while playing it in real time. Further, the receiver 112 receives the remaining encoded data transmitted using the idle communication time, and records the received remaining encoded data in addition to the recorded encoded data. Thereby, the quality of the recorded content can be kept higher.
 具体的には、受信器112は、送信器111から送信されたデータ(以下、受信データと称する)を受信すると、残符号化データであるかを判定し、残符号化データでなく、符号化データである場合、符号化データを受信バッファに格納する。受信器112は、格納された符号化データが一定個数、もしくは一定データサイズ蓄積されたら、受信バッファ(一時記憶領域)から1フレーム分の符号化データを読み出す。そして、受信器112は、記憶領域に符号化データを記録すると同時に復号、逆量子化、音声データを合成し、出力系によりスピーカなどで再生する。 Specifically, upon receiving data transmitted from the transmitter 111 (hereinafter referred to as received data), the receiver 112 determines whether it is residual encoded data, and determines whether it is residual encoded data or not. If it is data, the encoded data is stored in the reception buffer. The receiver 112 reads out one frame's worth of encoded data from a reception buffer (temporary storage area) when a certain number of stored encoded data or a certain data size has been accumulated. Then, the receiver 112 records the encoded data in the storage area, simultaneously decodes, dequantizes, and synthesizes the audio data, and reproduces the data through a speaker or the like through an output system.
 また、受信器112は、受信データが残符号化データである場合、記憶領域に記録されている符号化データに追加して記録する。 Furthermore, when the received data is residual encoded data, the receiver 112 records it in addition to the encoded data recorded in the storage area.
 符号化データを記録する記憶領域は、例えばハードディスクドライブなどの長期記録用デバイスである。すなわち、その後、ユーザは希望するタイミングで送信器111から符号化データを再度受信することなく再生できるようになる。 The storage area for recording encoded data is, for example, a long-term recording device such as a hard disk drive. That is, after that, the user can reproduce the encoded data at a desired timing without receiving the encoded data again from the transmitter 111.
 以下、送信器111と受信器112の構成について説明する。なお、図9において、図3と対応する部分については対応する符号が付してあり、その詳細な説明については省略される。 The configurations of the transmitter 111 and receiver 112 will be described below. Note that in FIG. 9, parts corresponding to those in FIG. 3 are designated by corresponding symbols, and detailed explanation thereof will be omitted.
 図9の送信器111は、符号化データ切り出し部22が、符号化データ切り出し部121に入れ替わった点、未送信符号化データ情報保存部122と残符号化データ構成部123とが追加された点が、図4の送信器11と異なっている。 The transmitter 111 in FIG. 9 has the following points: the encoded data extraction unit 22 is replaced with an encoded data extraction unit 121, and an untransmitted encoded data information storage unit 122 and a remaining encoded data configuration unit 123 are added. However, it is different from the transmitter 11 in FIG.
 すなわち、送信器111は、切り出し設定決定部21、終端処理部23、送信データ構成部24、符号化データ切り出し部121、未送信符号化データ情報保存部122、および残符号化データ構成部123を含むように構成される。 That is, the transmitter 111 includes an extraction setting determining section 21, a termination processing section 23, a transmission data configuration section 24, an encoded data extraction section 121, an untransmitted encoded data information storage section 122, and a remaining encoded data configuration section 123. Constructed to include.
 符号化データ切り出し部121は、記憶領域から1フレームの符号化データのうち、切り出し設定決定部21から供給された切り出し設定情報のCutSZに相当する符号化データのみを読み出す。 The encoded data cutout section 121 reads only the encoded data corresponding to Cut SZ of the cutout setting information supplied from the cutout setting determination section 21 out of the encoded data of one frame from the storage area.
 符号化データ切り出し部121は、読みだした符号化データと、読み出し元のファイルを一意に識別できるインデックス情報であるコンテンツIDを、終端処理部23に出力すると同時に、コンテンツID、フレーム番号、およびCutSZを未送信符号化データ情報保存部122に出力する。なお、1つのコンテンツIDには、1または複数のフレーム番号が対応する。 The encoded data cutting unit 121 outputs the read encoded data and the content ID, which is index information that can uniquely identify the read-out file, to the termination processing unit 23, and at the same time outputs the content ID, frame number, and Cut data. SZ is output to the untransmitted encoded data information storage section 122. Note that one content ID corresponds to one or more frame numbers.
 未送信符号化データ情報保存部122は、供給されたフレーム番号とCutSZをペアにして、図示せぬ記憶領域に送信履歴情報として保存する。送信履歴情報は、例えば、コンテンツID毎に追記できるようにリスト形式で記録される。この場合、未送信符号化データ情報保存部122は、リストの要素に少なくともフレーム番号とCutSZを含む形式で送信履歴情報を記録する。 The untransmitted encoded data information storage unit 122 stores the supplied frame number and Cut SZ as a pair in a storage area (not shown) as transmission history information. The transmission history information is recorded, for example, in a list format so that it can be added for each content ID. In this case, the untransmitted encoded data information storage unit 122 records the transmission history information in a format that includes at least the frame number and Cut SZ in the elements of the list.
 残符号化データ構成部123は、間歇的に起動し、上述した送信履歴情報を参照し、未送信符号化データが存在し、かつ、メインのデータ通信がなされていない場合、例えば、再生停止中やメインのデータ通信の隙間時間などに残符号化データを生成し、残符号化データを送信処理部25に出力する。 The remaining encoded data configuration unit 123 starts up intermittently, refers to the above-mentioned transmission history information, and when there is untransmitted encoded data and the main data communication is not being performed, for example, when playback is stopped. The remaining encoded data is generated during a gap time between main data communication and the like, and the remaining encoded data is output to the transmission processing section 25.
 具体的には、残符号化データ構成部123は、まず、例えば、最も古い送信履歴情報を参照し、該当フレーム番号の符号化データのCutSZよりも大きくなる部分の符号化データを読み出す。読み出すサイズは、通信の状況に合わせて変更される。例えば、読み出すサイズは、メインのデータ通信の隙間時間であればNバイトとされ、再生停止中であれば当該フレームの末端までのサイズとされる。 Specifically, the remaining encoded data configuration unit 123 first refers to, for example, the oldest transmission history information, and reads out the encoded data of the portion larger than Cut SZ of the encoded data of the corresponding frame number. The read size is changed according to the communication situation. For example, the read size is set to N bytes in the gap time of main data communication, and is set to the size up to the end of the frame if playback is stopped.
 そして、残符号化データ構成部123は、読み出した符号化データに、送信データ構成部24により構成された送信データと区別できるヘッダ情報、コンテンツID、フレーム番号、読み出し位置情報(何Nバイトか)、および読み出しサイズを含めて、残符号化データを構成し、送信する。同時に、残符号化データ構成部123は、送信履歴情報も更新する。 Then, the remaining encoded data configuration unit 123 adds header information that can be distinguished from the transmission data configured by the transmission data configuration unit 24 to the read encoded data, content ID, frame number, and read position information (how many N bytes). , and the read size, configure and transmit the remaining encoded data. At the same time, the remaining encoded data configuration unit 123 also updates transmission history information.
 例えば、送信データと残符号化データとを区別するためのヘッダ情報には、最初のビットが1となる1バイトのデータ列、例えば0xFFなど、規格で予め決めた値が用いられる。 For example, a value predetermined by the standard, such as a 1-byte data string in which the first bit is 1, such as 0xFF, is used as header information for distinguishing between transmission data and remaining encoded data.
 送信履歴情報の更新の例としては、例えば、フレーム番号10のCutSZが最初3Nバイトである場合に、残符号化データ構成部123がNバイトのデータを読み出したとき、フレーム番号10のCutSZが4Nバイトに更新される。また、すべての符号化情報を送ることができた場合には、これが簡単に判定できるように、例えば、該当フレーム番号のCutSZに-1を設定するか、該当フレーム番号の送信履歴情報を削除するなどしてもよい。以上のように送信履歴情報を更新することで、フレーム番号が若いフレームの符号化データから順番に、漏れ重複なく送信できる。 As an example of updating the transmission history information, for example, when Cut SZ of frame number 10 is initially 3N bytes, when the remaining encoded data configuration unit 123 reads N bytes of data, Cut SZ of frame number 10 is updated. is updated to 4N bytes. In addition, if all the encoded information has been successfully sent, in order to easily determine this, for example, set Cut SZ of the relevant frame number to -1 or delete the transmission history information of the relevant frame number. You may also do this. By updating the transmission history information as described above, encoded data of frames with the smallest frame number can be transmitted in order without omission or duplication.
 また、残符号化データ構成部123は、送信履歴情報をリスト形式で記録し、例えば、更新した履歴をリストの最後に移動することと、すべての未送信符号化データを送信できたフレームの送信履歴情報をリストから削除することとを更新ルールとする。そして、例えば、残符号化データ構成部123がフレーム番号10番目をNバイト、フレーム番号11番目をNバイトと順番に最小単位で送信することで、すべてのフレームに対して平均的に残符号化データを送信することができる。 The remaining encoded data configuration unit 123 also records transmission history information in a list format, and, for example, moves the updated history to the end of the list and transmits frames in which all untransmitted encoded data has been transmitted. The update rule is to delete history information from the list. For example, the residual encoded data configuration unit 123 transmits the 10th frame number by N bytes, the 11th frame number by N bytes, and so on in order in minimum units, so that the remaining encoded data is averaged for all frames. Data can be sent.
 なお、以降においては、説明の簡単のためにフレーム毎にNバイトのデータを送る例を用いて説明する。また、フレームの終端ではNに満たない場合があるため、送信する残符号化データのサイズは一緒に送られることとする。なお、第2の実施の形態では受信器が1つの構成をとるが、受信器が複数ある構成であってもよく、この場合には受信器毎に送信履歴情報を保存すればよい。 In the following, for the sake of simplicity, an example will be described in which N bytes of data are sent for each frame. Furthermore, since there may be less than N at the end of the frame, the size of the remaining encoded data to be transmitted is also sent together. Note that although the second embodiment has a configuration with one receiver, a configuration with a plurality of receivers may be used, and in this case, transmission history information may be saved for each receiver.
 図9の受信器112は、受信データ仕分け部131およびビットストリーム書き出し部132が追加された点が、図4の受信器12と異なっている。 The receiver 112 in FIG. 9 differs from the receiver 12 in FIG. 4 in that a received data sorting section 131 and a bitstream writing section 132 are added.
 受信データ仕分け部131は、受信データのヘッダ情報を解析し、残符号化データであるかを判定し、残符号化データである場合、ビットストリーム書き出し部132にそのまま出力する。受信データ仕分け部131は、残符号化データではない場合、受信バッファに格納する。 The received data sorting unit 131 analyzes the header information of the received data, determines whether it is residual encoded data, and if it is residual encoded data, outputs it as is to the bitstream writing unit 132. If the received data is not the remaining encoded data, the received data sorting unit 131 stores it in the reception buffer.
 例えば、判定用のヘッダ情報が、上述した0xFFの1バイトである場合、受信データ仕分け部131は、受信データの先頭1バイトが0xFFと一致するかで判定する。一致する場合、受信データ仕分け部131は、受信データを、残符号化データとしてビットストリーム書き出し部132に出力する。 For example, if the header information for determination is 1 byte of 0xFF described above, the received data sorting unit 131 determines whether the first 1 byte of the received data matches 0xFF. If they match, the received data sorting section 131 outputs the received data to the bitstream writing section 132 as residual encoded data.
 ビットストリーム書き出し部132は、ビットストリーム読み出し部31から供給された1フレーム分の符号化データと、受信データ仕分け部131から供給された残符号化データを記憶領域にそれぞれ書き出す。 The bitstream writing unit 132 writes one frame of encoded data supplied from the bitstream reading unit 31 and the remaining encoded data supplied from the received data sorting unit 131 to the storage area.
 最初に1フレーム分の符号化データを書き出す方法について説明する。 First, a method for writing out one frame's worth of encoded data will be explained.
 1フレーム分の符号化データは、送信器111側で切り出されたものであるため部分的なデータとなっているが、ビットストリーム書き出し部132は、書き出す際には、書き出し先に当該フレームの切り出し前のサイズを確保して書き出す。 One frame's worth of encoded data is extracted on the transmitter 111 side, so it is partial data. However, when writing, the bitstream writing unit 132 extracts the relevant frame at the writing destination. Secure the previous size and export.
 すなわち、ビットストリーム書き出し部132は、符号化データのヘッダ情報から切り出し前のフレームサイズを取得すると共に、最初に供給された1フレーム分の符号化データを書き出す。 That is, the bitstream writing unit 132 obtains the frame size before cutting out from the header information of the encoded data, and writes out one frame's worth of encoded data that is initially supplied.
 次に、ビットストリーム書き出し部132は、書き出したデータサイズが、取得したフレームサイズに到達するまで0xFFを書き出す。 Next, the bitstream writing unit 132 writes 0xFF until the written data size reaches the acquired frame size.
 例えば、符号化データのヘッダに書かれたフレームサイズが330バイトで、供給された符号化データのサイズが192(6N)バイトであった場合、ビットストリーム書き出し部132は、330バイトの領域を確保し、最初の192バイトに、供給された符号化データを記録し、残りの138バイトを0xFFで埋める。 For example, if the frame size written in the header of encoded data is 330 bytes and the size of the supplied encoded data is 192 (6N) bytes, the bitstream writing unit 132 secures an area of 330 bytes. Then, the supplied encoded data is recorded in the first 192 bytes, and the remaining 138 bytes are filled with 0xFF.
 また、コンテンツIDが同一の符号化データは、同じファイルに書き出され、コンテンツIDが異なる場合には異なるファイルに書き出される。 Further, encoded data with the same content ID are written to the same file, and when the content IDs are different, encoded data are written to different files.
 なお、書き出し位置は、符号化データが連続して到来する場合にはファイルの最後になる。一方、伝送エラーなどによりフレーム番号が連続しなくなる場合には、ビットストリーム書き出し部132は、抜けているフレーム番号位置に符号化方式で規定される最大サイズの領域を確保したうえで、確保した領域の続きに受信した符号化データを書き出す。 Note that the writing start position is the end of the file when encoded data arrives consecutively. On the other hand, if the frame numbers are not consecutive due to a transmission error or the like, the bitstream writing unit 132 secures an area of the maximum size specified by the encoding method at the position of the missing frame number, and then After that, write out the received encoded data.
 抜けたフレーム番号位置に書く情報は、例えば、全て0xFFとしてもよいし、フレームサイズとフレーム補間が必要であることを示す情報からなる専用のヘッダ情報を書き出したうえで残りを0xFFとするなどしてもよい。 The information written in the missing frame number position may, for example, be all 0xFF, or it may be possible to write dedicated header information consisting of the frame size and information indicating that frame interpolation is necessary, and then write the rest as 0xFF. It's okay.
 次に、残符号化データを書き出す方法について説明する。 Next, a method for writing the remaining encoded data will be explained.
 残符号化データの書き出しは、最初に、残符号化データと共に送られてきたコンテンツIDに対応するフレーム番号のフレームの符号化データを検出し、次に、Nバイト毎に先頭ビットを見ていき、1が出現する場所を検出し、最後に検出した場所に対して残符号化データを上書きすることで行われる。 To write the remaining encoded data, first detect the encoded data of the frame with the frame number corresponding to the content ID sent with the remaining encoded data, and then look at the first bit every N bytes. , 1 appears, and overwrites the last detected location with the remaining encoded data.
 例えば、上述したように書き出したフレーム(仮にフレーム番号10とする)に対する残符号化データとしてNバイトが供給された場合には、ビットストリーム書き出し部132は、フレーム番号に対応する、記憶領域に記録されているコンテンツIDのコンテンツファイル、すなわち符号化データを記録したファイルを開く。そして、ビットストリーム書き出し部132は、開いたファイルにおいて、10フレーム目の符号化データの先頭に移動し、この先頭アドレスからNバイト毎に先頭ビットを読み出し、1が出現するアドレスを検出し、検出された位置を先頭に残符号化データを上書きし、ファイルを保存する。 For example, if N bytes are supplied as the remaining encoded data for the frame written out as described above (assuming frame number 10), the bitstream writing unit 132 records the data in the storage area corresponding to the frame number. Open the content file with the specified content ID, that is, the file in which encoded data is recorded. Then, in the opened file, the bitstream writing unit 132 moves to the beginning of the encoded data of the 10th frame, reads the first bit every N bytes from this first address, detects the address where 1 appears, and detects Overwrite the rest of the encoded data starting at the position where it was, and save the file.
 このようにすることで、例えば、最初に受信した6Nバイトのデータに加え、残符号化データ分のNバイトが書き出され、記憶領域には7Nバイト分の符号化データが書き出されたことになる。これにより、ユーザが知らぬ間に、記録したコンテンツの品質をより高品質にできる。 By doing this, for example, in addition to the first 6N bytes of data received, N bytes for the remaining encoded data are written, and 7N bytes of encoded data are written to the storage area. become. As a result, the quality of the recorded content can be improved without the user knowing.
 <送信器の処理>
 図10は、送信器111の主処理を説明するフローチャートである。
<Transmitter processing>
FIG. 10 is a flowchart illustrating the main processing of the transmitter 111.
 なお、図10のステップS111乃至S113およびS115乃至S119の処理は、図5のステップS11乃至S18の処理と同様であるので、その説明は省略する。 Note that the processes in steps S111 to S113 and S115 to S119 in FIG. 10 are the same as the processes in steps S11 to S18 in FIG. 5, so the description thereof will be omitted.
 ステップS113において、符号化データ切り出し部121は、算出されたCutSZ分の符号化データの読み出しを行う。その際、符号化データ切り出し部121は、コンテンツIDを終端処理部23に出力すると同時に、コンテンツID、フレーム番号、およびCutSZを未送信符号化データ情報保存部122に出力する。 In step S113, the encoded data cutting unit 121 reads the encoded data corresponding to the calculated Cut SZ . At this time, the encoded data cutting section 121 outputs the content ID to the termination processing section 23 and at the same time outputs the content ID, frame number, and Cut SZ to the untransmitted encoded data information storage section 122.
 ステップS114において、未送信符号化データ情報保存部122は、符号化データ切り出し部121から供給されたフレーム番号とCutSZをペアにして、送信履歴情報に記録する。 In step S114, the untransmitted encoded data information storage unit 122 pairs the frame number and Cut SZ supplied from the encoded data cutout unit 121 and records them in the transmission history information.
 図11は、送信器111の副処理を説明するフローチャートである。 FIG. 11 is a flowchart illustrating sub-processing of the transmitter 111.
 図11の副処理は、第2の実施の形態の送信器111において、図10の主処理と並列して残符号化データ構成部123により間歇的に実行される処理である。 The sub-processing in FIG. 11 is a process that is intermittently executed by the residual encoded data configuration unit 123 in the transmitter 111 of the second embodiment in parallel with the main processing in FIG. 10.
 ステップS131において、残符号化データ構成部123は、送信履歴情報があるか否かを判定する。送信履歴情報があるとステップS131において判定された場合、処理は、ステップS132に進む。 In step S131, the remaining encoded data configuration unit 123 determines whether there is transmission history information. If it is determined in step S131 that there is transmission history information, the process proceeds to step S132.
 ステップS132において、残符号化データ構成部123は、送信履歴情報のコンテンツIDに対応する符号化データのファイルを開く。 In step S132, the remaining encoded data configuration unit 123 opens the encoded data file corresponding to the content ID of the transmission history information.
 ステップS133において、残符号化データ構成部123は、送信履歴情報で最も古い情報(フレーム番号など)を取得する。例えば、リスト形式で記録されている場合には、リストの先頭の情報が取得される。 In step S133, the remaining encoded data configuration unit 123 acquires the oldest information (frame number, etc.) in the transmission history information. For example, if the information is recorded in a list format, the information at the head of the list is acquired.
 ステップS134において、残符号化データ構成部123は、開いたファイルにおいて、ファイルポインタを、取得したフレーム番号のフレームの先頭に移動し、フレームサイズをヘッダから取得する。 In step S134, the remaining encoded data configuration unit 123 moves the file pointer to the beginning of the frame with the acquired frame number in the opened file, and acquires the frame size from the header.
 ステップS135において、残符号化データ構成部123は、未送信符号化データである、残りの符号化データのサイズを参照し、読み出しサイズを決定する。 In step S135, the remaining encoded data configuration unit 123 refers to the size of the remaining encoded data, which is untransmitted encoded data, and determines the read size.
 例えば、残符号化データ構成部123は、フレームサイズをNバイト取得する場合、残りの符号化データのサイズと比較し、小さい方の値を採用する(読み出しサイズ=MIN(N,フレームサイズ-送信済みデータサイズ))。例えば、Nが32バイトで残りの符号化データのサイズが40バイトであれば、32バイトが採用され、仮に残りの符号化データのサイズが20バイトであれば、20バイトが採用される。 For example, when acquiring the frame size by N bytes, the remaining encoded data configuration unit 123 compares it with the size of the remaining encoded data and adopts the smaller value (read size = MIN (N, frame size - transmission completed data size)). For example, if N is 32 bytes and the size of the remaining encoded data is 40 bytes, 32 bytes will be used, and if the size of the remaining encoded data is 20 bytes, 20 bytes will be used.
 ステップS136において、残符号化データ構成部123は、開いたファイルにおいて、ファイルポインタを送信済みデータサイズだけ移動させる。残符号化データ構成部123は、実際に読み出す位置にファイルポインタを移動させるが、例えば、送信履歴情報から取得した送信済みサイズが6Nであった場合、残符号化データ構成部123は、ファイルポインタの位置を6Nバイト分読み進める。 In step S136, the remaining encoded data configuration unit 123 moves the file pointer by the transmitted data size in the opened file. The remaining encoded data configuration unit 123 moves the file pointer to the position where it is actually read. For example, if the transmitted size obtained from the transmission history information is 6N, the remaining encoded data configuration unit 123 moves the file pointer to the position where it is actually read. Read forward 6N bytes at the position.
 ステップS137において、残符号化データ構成部123は、開いたファイルにおいて、移動されたファイルポインタの位置から、符号化データを、ステップS135で算出された読み出しサイズ分だけ読み出す。 In step S137, the remaining encoded data configuration unit 123 reads encoded data from the moved file pointer position in the opened file by the readout size calculated in step S135.
 ステップS138において、残符号化データ構成部123は、送信履歴情報を更新する。例えば、ステップS133で参照したリストのデータの内容が更新される。 In step S138, the remaining encoded data configuration unit 123 updates the transmission history information. For example, the contents of the data in the list referenced in step S133 are updated.
 ステップS139において、残符号化データ構成部123は、今回の実行で処理する分が完了したか否かを判定する。今回の実行で処理する分は、例えば、1回の処理で1フレーム分や5フレーム分と予め定められていてもよい。また、今回の実行で処理する分は、例えば、再生状態に応じて、例えば、再生中であれば1回の処理で1フレームのNバイトの残符号化データのみ送り、再生停止中であれば、1フレームの残符号化データをすべて送る、または、10フレーム分のNバイトの残符号化データを送るなど、動的に決められてもよい。 In step S139, the remaining encoded data configuration unit 123 determines whether or not the amount to be processed in the current execution has been completed. The amount to be processed in the current execution may be predetermined as, for example, one frame or five frames in one process. Also, the amount processed in this execution depends on the playback status, for example, if the playback is in progress, only N bytes of remaining encoded data of one frame will be sent in one process, and if the playback is stopped, the remaining encoded data will be sent. , may be dynamically determined, such as sending all the remaining encoded data of one frame, or sending N bytes of remaining encoded data for 10 frames.
 ステップS139において、今回の実行で処理する分が完了していないと判定された場合、処理は、ステップS133に戻り、それ以降の処理が繰り返される。 If it is determined in step S139 that the portion to be processed in the current execution has not been completed, the process returns to step S133, and the subsequent processes are repeated.
 ステップS139において、今回の実行で処理する分の内容が完了したと判定された場合、処理は、ステップS140に進む。 If it is determined in step S139 that the content to be processed in the current execution has been completed, the process proceeds to step S140.
 ステップS140において、残符号化データ構成部123は、ファイルを閉じる。ステップS140の後、図11の副処理は終了となる。 In step S140, the remaining encoded data configuration unit 123 closes the file. After step S140, the sub-processing in FIG. 11 ends.
 ステップS131において、送信履歴情報がないと判定された場合も、図11の副処理は終了となる。 Even if it is determined in step S131 that there is no transmission history information, the sub-processing in FIG. 11 ends.
 <受信器の処理>
 図12は、受信器112の処理を説明するフローチャートである。
<Receiver processing>
FIG. 12 is a flowchart illustrating the processing of the receiver 112.
 なお、図12のステップS151、S152、S154乃至S156、S159乃至S161の処理は、図7のステップS51乃至S58の処理と基本的に同様であるので、その説明を省略する。 Note that the processes in steps S151, S152, S154 to S156, and S159 to S161 in FIG. 12 are basically the same as the processes in steps S51 to S58 in FIG. 7, so the explanation thereof will be omitted.
 また、S157の処理は、ステップS152(図7のステップS52)と基本的に同様の処理であり、これは、ステップS154で必要な先頭の1バイトを取得するために順番を変更したものであり、基本的には図7で示した内容と相違ない。 Further, the process in S157 is basically the same process as step S152 (step S52 in FIG. 7), except that the order is changed in order to obtain the first byte required in step S154. , is basically the same as the content shown in FIG.
 図12のステップS153において、受信データ仕分け部131は、ステップS152で取得された1バイトに基づいて、受信データが残符号化データであるか否かを判定する。例えば、ステップS152で取得された1バイトが判定用のヘッダ情報を示す0xFFであるか否かで判定される。 In step S153 of FIG. 12, the received data sorting unit 131 determines whether the received data is residual encoded data based on the 1 byte acquired in step S152. For example, it is determined whether the 1 byte acquired in step S152 is 0xFF indicating header information for determination.
 ステップS153において受信データが残符号化データではないと判定された場合、処理は、ステップS154に進む。 If it is determined in step S153 that the received data is not residual encoded data, the process proceeds to step S154.
 ステップS154において、ビットストリーム読み出し部31は、先頭ビットが0か否かを判定する。先頭ビットが0ではないとステップS154において判定された場合、処理は、ステップS158に進む。この場合、ビットストリーム読み出し部31は、1フレーム分の符号化データをビットストリーム書き出し部132に出力する。 In step S154, the bitstream reading unit 31 determines whether the first bit is 0 or not. If it is determined in step S154 that the leading bit is not 0, the process proceeds to step S158. In this case, the bitstream reading section 31 outputs one frame's worth of encoded data to the bitstream writing section 132.
 ステップS158において、ビットストリーム書き出し部132は、ビットストリーム読み出し部31から供給された1フレーム分の符号化データを書き出す。符号化データの書き出し処理は、図13を参照して後述される。 In step S158, the bitstream writing unit 132 writes out one frame of encoded data supplied from the bitstream reading unit 31. The process of writing encoded data will be described later with reference to FIG. 13.
 符号化データが書き出された後、処理は、ステップS159に進み、復号処理が行われる。 After the encoded data is written out, the process proceeds to step S159, where decoding processing is performed.
 一方、ステップS153において残符号化データであると判定された場合、処理は、ステップS162に進む。この場合、受信データ仕分け部131は、残符号化データを、ビットストリーム書き出し部132にそのまま出力する。 On the other hand, if it is determined in step S153 that the data is residual encoded data, the process proceeds to step S162. In this case, the received data sorting unit 131 outputs the remaining encoded data to the bitstream writing unit 132 as is.
 ステップS162において、ビットストリーム書き出し部132は、ビットストリーム読み出し部31から供給された1フレーム分の残符号化データを書き出す。残符号化データの書き出し処理は、図14を参照して後述される。 In step S162, the bitstream writing unit 132 writes out one frame's worth of residual encoded data supplied from the bitstream reading unit 31. The process of writing out the remaining encoded data will be described later with reference to FIG.
 残符号化データが書き出された後、図12の受信器112の処理は終了となる。 After the remaining encoded data is written out, the processing of the receiver 112 in FIG. 12 ends.
 図13は、図12のステップS158の符号化データの書き出し処理を説明するフローチャートである。 FIG. 13 is a flowchart illustrating the encoded data writing process in step S158 of FIG. 12.
 ステップS171において、ビットストリーム書き出し部132は、コンテンツIDに対応するファイルを開く。開かれるファイルは、送られてきたコンテンツIDに対応する符号化データが記録されているファイルであり、対応するファイルがない場合には新規に生成される。 In step S171, the bitstream writing unit 132 opens the file corresponding to the content ID. The file to be opened is a file in which encoded data corresponding to the sent content ID is recorded, and if a corresponding file does not exist, a new file is generated.
 ステップS172において、ビットストリーム書き出し部132は、受信した符号化データのヘッダ情報からフレーム番号とフレームサイズを取得する。 In step S172, the bitstream writing unit 132 obtains the frame number and frame size from the header information of the received encoded data.
 ステップS173において、ビットストリーム書き出し部132は、開いたファイルにおいて、ファイルポインタを該当フレームの先頭に移動する。移動先は、連続して符号化データが送信されてくる場合、ファイルの最後になる。また、移動先は、伝送エラーなどによりフレーム番号が連続していない場合、上述したように、抜けているフレーム番号位置に符号化方式で規定される最大サイズの領域を確保したうえで、その確保した領域の次になる。 In step S173, the bitstream writing unit 132 moves the file pointer to the beginning of the corresponding frame in the opened file. If encoded data is sent continuously, the destination will be the end of the file. In addition, if the frame numbers are not consecutive due to a transmission error, etc., the destination of the movement is determined by securing an area of the maximum size specified by the encoding method at the position of the missing frame number, as described above. It will be the next area.
 ステップS174において、ビットストリーム書き出し部132は、受信した符号化データをファイルに書き出し、書き出したサイズを示す書き出しサイズに実際に書き出した符号化データのサイズを設定する(書き出しサイズ=受信済み符号化データサイズ)。 In step S174, the bitstream writing unit 132 writes the received encoded data to a file, and sets the size of the actually written encoded data to the write size indicating the exported size (write size = received encoded data size).
 ステップS175において、ビットストリーム書き出し部132は、ステップS172で取得したフレームサイズより書き出しサイズが小さいか否かを判定する。フレームサイズより書き出しサイズが小さいとステップS175において判定された場合、処理は、ステップS176に進む。 In step S175, the bitstream writing unit 132 determines whether the writing size is smaller than the frame size obtained in step S172. If it is determined in step S175 that the write size is smaller than the frame size, the process proceeds to step S176.
 ステップS176において、ビットストリーム書き出し部132は、1バイト毎に0xFFを書き出す(書き出しサイズ+=1)。なお、図13の例においては、1バイト毎に書き出した例としたが、フレームサイズと書き出しサイズの差を確認したうえで、8バイトや4バイトの塊で書き出し、最後に1バイト刻みで書き出すなどしてもよい。 In step S176, the bitstream writing unit 132 writes out 0xFF for each byte (writing size +=1). In addition, in the example in Figure 13, the example was written in 1-byte increments, but after checking the difference between the frame size and the export size, it is written in 8-byte or 4-byte chunks, and finally in 1-byte increments. etc.
 ステップS176の後、処理は、ステップS175に戻り、それ以降の処理が繰り返される。 After step S176, the process returns to step S175, and the subsequent processes are repeated.
 ステップS175において、フレームサイズより書き出しサイズが大きいと判定された場合、処理は、ステップS177に進む。 If it is determined in step S175 that the write size is larger than the frame size, the process proceeds to step S177.
 ステップS177において、ビットストリーム書き出し部132は、ファイルを閉じる。 In step S177, the bitstream writing unit 132 closes the file.
 ステップS177の後、図13の符号化データの書き出し処理は終了となる。 After step S177, the encoded data writing process in FIG. 13 ends.
 図14は、図12のステップS162の残符号化データの書き出し処理を説明するフローチャートである。 FIG. 14 is a flowchart illustrating the process of writing out the remaining encoded data in step S162 of FIG. 12.
 ステップS181において、ビットストリーム書き出し部132は、コンテンツIDに対応するファイルを開く。開かれるファイルは、送られてきたコンテンツIDに対応する符号化データが記録されているファイルであり、上述したように、符号化データを書き出す際に対応するファイルがなかった場合には、上述した図13のステップS171において生成されている。 In step S181, the bitstream writing unit 132 opens the file corresponding to the content ID. The file to be opened is the one in which the encoded data corresponding to the sent content ID is recorded.As mentioned above, if there is no corresponding file when writing the encoded data, the above-mentioned It is generated in step S171 in FIG.
 ステップS182において、ビットストリーム書き出し部132は、受信した残符号化データのフレーム番号を取得する。 In step S182, the bitstream writing unit 132 acquires the frame number of the received remaining encoded data.
 ステップS183において、ビットストリーム書き出し部132は、ステップS182で取得されたフレーム番号の符号化データがファイル上で記録されている位置、例えば、該当フレーム番号のフレームの先頭に、ファイルポインタを移動する。移動には、例えば、各フレームのヘッダ情報のフレームサイズを参照し、該当フレームに到達するまで各フレームを読み飛ばす方法が用いられる。 In step S183, the bitstream writing unit 132 moves the file pointer to the position where the encoded data of the frame number acquired in step S182 is recorded on the file, for example, to the beginning of the frame of the frame number. For the movement, for example, a method is used in which the frame size of the header information of each frame is referred to and each frame is skipped until the corresponding frame is reached.
 ステップS184において、ビットストリーム書き出し部132は、既に書き出されている符号化データを1バイト読み出す。 In step S184, the bitstream writing unit 132 reads 1 byte of encoded data that has already been written.
 ステップS185において、ビットストリーム書き出し部132は、先頭ビットが0であるか否かを判定する。先頭ビットが0であると判定された場合、処理は、ステップS186に進む。 In step S185, the bitstream writing unit 132 determines whether the leading bit is 0 or not. If it is determined that the first bit is 0, the process advances to step S186.
 ステップS186において、ビットストリーム書き出し部132は、既に書き出されている符号化データをN-1バイト読み出す。ステップS186の後、処理は、ステップS184に戻り、それ以降の処理が繰り返される。 In step S186, the bitstream writing unit 132 reads N-1 bytes of encoded data that has already been written. After step S186, the process returns to step S184, and the subsequent processes are repeated.
 すなわち、ステップS184乃至S186においては、既に書き出されている符号化データにおいて、Nバイト毎に先頭ビットが確認され、0ではない位置が検出されている。 That is, in steps S184 to S186, the first bit is checked every N bytes in the encoded data that has already been written, and a non-zero position is detected.
 ステップS185において、先頭ビットが0ではないと判定された場合、処理は、ステップS187に進む。 If it is determined in step S185 that the first bit is not 0, the process proceeds to step S187.
 ステップS187において、ビットストリーム書き出し部132は、1バイトを読みだした読み出し元に、残符号化データを書き出す。すなわち、ステップS187においては、先頭ビットが0ではないと判定された1バイトの領域から、残符号化データが書き出される。書き出すサイズは、一緒に送られてくるサイズ情報により取得できる。 In step S187, the bitstream writing unit 132 writes the remaining encoded data to the reading source from which 1 byte was read. That is, in step S187, the remaining encoded data is written from the 1-byte area in which it is determined that the leading bit is not 0. The size to be written can be obtained from the size information sent together.
 ステップS188において、ビットストリーム書き出し部132は、すべての残符号化データの書き出しが完了したか否かを判定する。すべての残符号化データの書き出しがまだ完了していないとステップS188において判定された場合、処理は、ステップS182に戻り、それ以降の処理が繰り返される。 In step S188, the bitstream writing unit 132 determines whether writing of all remaining encoded data has been completed. If it is determined in step S188 that writing of all remaining encoded data has not yet been completed, the process returns to step S182, and the subsequent processes are repeated.
 ステップS188において、すべての残符号化データの書き出しが完了したと判定された場合、処理は、ステップS189に進む。 If it is determined in step S188 that writing of all remaining encoded data has been completed, the process proceeds to step S189.
 ステップS189において、ビットストリーム書き出し部132は、書き出し用に開いたファイルを閉じる。ステップS189の後、図14の残符号化データの書き出し処理は終了となる。 In step S189, the bitstream writing unit 132 closes the file opened for writing. After step S189, the remaining encoded data writing process in FIG. 14 ends.
 なお、第2の実施の形態においては、ビットストリーム書き出し部132がビットストリーム読み出し部31から符号化データを受け取る場合を例に説明したが、ビットストリーム書き出し部132が、受信データ仕分け部131から符号化データを常に受け取って記憶領域に書き出すように構成してもよい。この場合には、ビットストリーム書き出し部132に必要な機能がビットストリーム読み出し部31から移動されて設置される。 In the second embodiment, the case where the bitstream writing unit 132 receives encoded data from the bitstream reading unit 31 has been described as an example, but the bitstream writing unit 132 receives encoded data from the received data sorting unit 131. It may be configured to always receive converted data and write it to a storage area. In this case, the functions necessary for the bitstream writing section 132 are moved from the bitstream reading section 31 and installed therein.
<3.第3の実施の形態>
 <リアルタイム録音通信再生システムの構成>
 図15は、本技術の第3の実施の形態に係るリアルタイム録音通信再生システムの構成例を示す図である。
<3. Third embodiment>
<Configuration of real-time recording communication playback system>
FIG. 15 is a diagram illustrating a configuration example of a real-time recording communication playback system according to the third embodiment of the present technology.
 図15のリアルタイム録音通信再生システム201は、符号化器211が追加された点が、図4のリアルタイム通信再生システム1と異なる。 The real-time recording communication playback system 201 in FIG. 15 differs from the real-time communication playback system 1 in FIG. 4 in that an encoder 211 is added.
 すなわち、図15のリアルタイム録音通信再生システム201は、符号化器211と、図4の送信器11および受信器12とを含むように構成される。なお、図15において、図4と共通する部分には同じ符号が付されており、その説明は省略される。 That is, the real-time recording communication playback system 201 in FIG. 15 is configured to include an encoder 211, and the transmitter 11 and receiver 12 in FIG. Note that in FIG. 15, parts common to those in FIG. 4 are denoted by the same reference numerals, and their explanations will be omitted.
 符号化器211は、通信Aを介して、送信器11と通信を行う。送信器11は、通信Bを介して、受信器12と通信を行う。 The encoder 211 communicates with the transmitter 11 via communication A. The transmitter 11 communicates with the receiver 12 via communication B.
 符号化器211は、入力系から入力された音声信号を、図2の形式を有する符号化データに符号化し、通信Aを介して、送信器11に送信する。 The encoder 211 encodes the audio signal input from the input system into encoded data having the format shown in FIG. 2, and transmits it to the transmitter 11 via communication A.
 具体的には、符号化器211は、通信開始指示を受けると、入力系から入力された音声信号を解析し、量子化し、符号化したうえで、図2の形式からなる符号化データを形成し、送信器11に送信する。 Specifically, upon receiving an instruction to start communication, the encoder 211 analyzes, quantizes, and encodes the audio signal input from the input system, and then forms encoded data in the format shown in FIG. and transmits it to the transmitter 11.
 送信器11は、通信Bの状況に応じて、符号化データの少なくとも一部を受信器12に送信する。 The transmitter 11 transmits at least part of the encoded data to the receiver 12 depending on the status of communication B.
 受信器12は、符号化データの少なくとも一部を受信し、リアルタイムに再生する。 The receiver 12 receives at least a portion of the encoded data and reproduces it in real time.
 なお、図15において、通信Aは、特に記載がない限り、すべての符号化データをリアルタイムに通信するために十分な帯域を有する通信路、例えば、同一機器内の通信や十分に高速なインターネット通信などとする。通信Bは、すべての符号化データをリアルタイムに通信するために十分な帯域がない通信路、例えば、Bluetoothなどの近距離通信とする。 Note that in FIG. 15, unless otherwise specified, communication A is a communication path that has sufficient bandwidth to communicate all encoded data in real time, such as communication within the same device or sufficiently high-speed Internet communication. etc. Communication B is a communication channel that does not have sufficient bandwidth to communicate all encoded data in real time, for example, short-range communication such as Bluetooth.
 また、説明を簡単にするために、通信Aを介して受信した符号化データは、送信器11の図示せぬ記憶領域に一時的に保存されるものとする。すなわち、符号化器211と送信器11が同一機器内にあってもよい。 Furthermore, to simplify the explanation, it is assumed that the encoded data received via communication A is temporarily stored in a storage area (not shown) of the transmitter 11. That is, the encoder 211 and the transmitter 11 may be included in the same device.
 また、伝送されるデータは、映像、音声、触覚、または振動などの情報であってよいが、図15においても、音楽などの音声データを例に説明する。 Furthermore, although the data to be transmitted may be information such as video, audio, tactile sensation, or vibration, FIG. 15 will also be described using audio data such as music as an example.
 さらに、図15においては、通信の開始や停止の指示は、符号化器211と送信器11と受信器12の間で取り交わされるとする。 Further, in FIG. 15, it is assumed that instructions to start and stop communication are exchanged between the encoder 211, the transmitter 11, and the receiver 12.
 以下、符号化器211の構成について説明する。 The configuration of the encoder 211 will be described below.
 符号化器211は、信号解析部221、量子化部222、符号化部223、および符号化データ形成部224により構成される。 The encoder 211 includes a signal analysis section 221, a quantization section 222, an encoding section 223, and an encoded data forming section 224.
 信号解析部221は、入力系からの入力音声信号、1フレーム分を帯域分割や時間周波数変換し、さらに解析し、結果を量子化部222に出力する。 The signal analysis unit 221 performs band division and time-frequency conversion on one frame of the input audio signal from the input system, further analyzes it, and outputs the result to the quantization unit 222.
 帯域分割は、例えば、Quadrature Mirror Filter、Polyphase Quadrature filter、または3分の1オクターブバンド分析フィルタバンクなどからなる。時間周波数変換は、例えば、離散フーリエ変換や修正離散コサイン変換(Modified Discrete Cosine Transform;MDCT)などからなる。 The band division consists of, for example, a Quadrature Mirror Filter, a Polyphase Quadrature filter, or a one-third octave band analysis filter bank. The time-frequency transform includes, for example, a discrete Fourier transform or a modified discrete cosine transform (MDCT).
 解析は、例えば、時間信号波形のエンベロープ解析や周波数スペクトルのエンベロープ解析、得られた周波数スペクトルを予め定められた帯域、例えば、臨界帯域幅の帯域にまとめ、まとめた帯域毎にスペクトルのパワーを求める解析などからなる。以降では、説明を簡単にするために、供給される信号は周波数スペクトルとするが、時間波形信号などであってもよい。 Analysis includes, for example, envelope analysis of time signal waveforms, envelope analysis of frequency spectra, gathering the obtained frequency spectra into predetermined bands, such as critical bandwidth bands, and finding the power of the spectrum for each grouped band. Consists of analysis, etc. Hereinafter, in order to simplify the explanation, the supplied signal will be a frequency spectrum, but it may be a time waveform signal or the like.
 量子化部222は、信号解析部221から供給される、解析された信号を量子化し、符号化部223に出力する。量子化は、例えば、予め定められた処理単位ごとに周波数スペクトルの最大パワーを求め、この最大値が+-1に収まるように係数(Scale Factor)を計算して行われる。 The quantization unit 222 quantizes the analyzed signal supplied from the signal analysis unit 221 and outputs it to the encoding unit 223. Quantization is performed, for example, by determining the maximum power of the frequency spectrum for each predetermined processing unit, and calculating a coefficient (Scale Factor) so that this maximum value falls within +-1.
 例えば、最大値が120であった場合、Scale Factorとしては、2のべき乗である128を用いるなどとすればよい。この計算されたScale Factorは、量子化された信号とともに符号化部223に出力される。 For example, if the maximum value is 120, 128, which is a power of 2, may be used as the Scale Factor. This calculated Scale Factor is output to the encoding section 223 together with the quantized signal.
 符号化部223は、量子化部222から供給される量子化された信号を予め定められた規則に従って符号を割り当て、符号化データ形成部224に出力する。符号化に用いられる符号には、例えば、ハフマン符号や算術符号などがある。 The encoding unit 223 assigns a code to the quantized signal supplied from the quantizing unit 222 according to a predetermined rule, and outputs it to the encoded data forming unit 224. Examples of codes used for encoding include Huffman codes and arithmetic codes.
 符号化データ形成部224は、供給される符号化データを、図2の形式からなるように形成し、図示せぬ送信処理部に出力する。形式を整える際には、Nバイト毎に必ず最上位ビットを0とする形で形成すればよい。 The encoded data forming unit 224 forms the supplied encoded data in the format shown in FIG. 2, and outputs it to a transmission processing unit (not shown). When preparing the format, the most significant bit may be set to 0 for every N bytes.
 例えば、Nが32バイトであり、一時記憶領域に書き出しながら形成する場合、符号化データ形成部224は、先頭ビットを0に最初に設定し、その後にヘッダ情報、サブ情報、メイン情報の順に32バイトに到達するまで書き出す。32バイトに到達したら、符号化データ形成部224は、先頭ビットを0に設定し、続けて残りのデータを書き出す。以上の処理が32バイトごとに繰り返される。 For example, if N is 32 bytes and is to be formed while being written to a temporary storage area, the encoded data forming unit 224 first sets the first bit to 0, and then sequentially sets 32 bytes of header information, sub information, and main information. Write until bytes are reached. When 32 bytes are reached, the encoded data forming unit 224 sets the first bit to 0, and then writes out the remaining data. The above process is repeated every 32 bytes.
 <符号化器の処理>
 図16は、符号化器211の処理を説明するフローチャートである。
<Encoder processing>
FIG. 16 is a flowchart illustrating the processing of the encoder 211.
 ステップS211において、信号解析部221は、1フレーム分の音声信号を波形解析する。 In step S211, the signal analysis unit 221 analyzes the waveform of one frame of the audio signal.
 ステップS212において、量子化部222は、波形解析された音声信号を量子化する。 In step S212, the quantization unit 222 quantizes the waveform-analyzed audio signal.
 ステップS213において、符号化部223は、量子化された音声信号を符号化し、符号化データを生成する。生成された符号化データは、例えば、サブ情報とメイン情報からなるビット列である。 In step S213, the encoding unit 223 encodes the quantized audio signal and generates encoded data. The generated encoded data is, for example, a bit string consisting of sub information and main information.
 ステップS214において、符号化データ形成部224は、生成された符号化データに応じたヘッダ情報を生成する。ヘッダ情報に記録するフレームサイズは、生成された符号化データのサイズに加え、(N*8-1)ビット毎に必要な1ビットを加えた値となる。
例えば、次の式(2)で算出される。
Figure JPOXMLDOC01-appb-M000002
In step S214, the encoded data forming unit 224 generates header information according to the generated encoded data. The frame size recorded in the header information is the size of the generated encoded data plus one bit required for every (N*8-1) bits.
For example, it is calculated using the following equation (2).
Figure JPOXMLDOC01-appb-M000002
 ここで、ステップS215以降においては、符号化データ形成部224は、(N*8-1)ビット毎に0ビットを付加しながらヘッダ情報と符号化データを一時記憶領域に書き出す。 Here, from step S215 onwards, the encoded data forming unit 224 writes the header information and encoded data to the temporary storage area while adding 0 bits to every (N*8-1) bits.
 このために、サイズがNバイトの書き出し用バッファが用いられる。すなわち、符号化データ形成部224は、最初にNバイトの書き出し用バッファを0でクリアし、先頭ビットを除いた(N*8-1)ビット分の符号化データをコピーし、これを一時記憶領域に書き出す。 For this purpose, a write buffer with a size of N bytes is used. That is, the encoded data forming unit 224 first clears the N-byte write buffer with 0, copies (N*8-1) bits of encoded data excluding the first bit, and temporarily stores this. Export to area.
 なお、生成したヘッダ情報は、符号化データの先頭にあるものとする。以下に詳細を説明する。 Note that the generated header information is assumed to be at the beginning of the encoded data. Details will be explained below.
 ステップS215において、符号化データ形成部224は、書き出し用バッファを0でクリアする。 In step S215, the encoded data forming unit 224 clears the write buffer with 0.
 ステップS216において、符号化データ形成部224は、残りの符号化データのサイズ(BNData)が7ビット以上であるか否かを判定する。 In step S216, the encoded data forming unit 224 determines whether the size of the remaining encoded data (BN Data ) is 7 bits or more.
 ステップS216において、BNDataが7ビット以上であると判定された場合、処理は、ステップS217に進む。 If it is determined in step S216 that BN Data is 7 bits or more, the process proceeds to step S217.
 ステップS217において、符号化データ形成部224は、書き出し用バッファの先頭から2ビット目から残りの符号化データの先頭7ビットをコピーする。 In step S217, the encoded data forming unit 224 copies the first 7 bits of the remaining encoded data from the second bit from the beginning of the write buffer.
 ステップS218において、符号化データ形成部224は、BNDataをコピーした7ビット分を差し引き、更新する。 In step S218, the encoded data forming unit 224 subtracts and updates the 7 bits of the BN Data .
 ステップS219において、符号化データ形成部224は、BNDataが(N*8-8)ビットよりも大きいか否かを判定する。BNDataが(N*8-8)ビットよりも大きいとステップS219において判定された場合、処理は、ステップS220に進む。 In step S219, the encoded data forming unit 224 determines whether BN Data is larger than (N*8-8) bits. If it is determined in step S219 that BN Data is larger than (N*8-8) bits, the process proceeds to step S220.
 ステップS220において、符号化データ形成部224は、書き出し用バッファの先にコピーした7ビットに続けて、残りの符号化データのうち(N*8-8)ビットをコピーする。 In step S220, the encoded data forming unit 224 copies (N*8-8) bits of the remaining encoded data following the 7 bits copied earlier in the write buffer.
 ステップS221において、符号化データ形成部224は、BNDataをコピーした(N*8-8)ビット分を差し引き、更新する。 In step S221, the encoded data forming unit 224 subtracts (N*8-8) bits from the copied BN Data and updates it.
 ステップS222において、符号化データ形成部224は、書き出し用バッファの内容を一時記憶領域に書き出す。ステップS222の後、処理は、ステップS215に戻り、それ以降の処理が繰り返される。 In step S222, the encoded data forming unit 224 writes the contents of the write buffer to the temporary storage area. After step S222, the process returns to step S215, and the subsequent processes are repeated.
 ステップS216において、BNDataが7ビット以上ではないと判定された場合、または、ステップS219において、BNDataが(N*8-8)ビット以上ではないと判定された場合、処理は、ステップS223に進む。 If it is determined in step S216 that the BN Data is not 7 bits or more, or if it is determined in step S219 that the BN Data is not (N*8-8) bits or more, the process proceeds to step S223. move on.
 ステップS223において、符号化データ形成部224は、書き出し用バッファに残りすべての符号化データをコピーする。 In step S223, the encoded data forming unit 224 copies all remaining encoded data to the write buffer.
 ステップS224において、符号化データ形成部224は、書き出し用バッファにコピーされた内容を一時記憶領域に書き出す。なお、書き出し用バッファにコピーされた内容がなければ、何もしない。 In step S224, the encoded data forming unit 224 writes the contents copied to the write buffer to a temporary storage area. Note that if there is no copied content in the write buffer, nothing is done.
 ステップS224の後、符号化器211の処理は終了となる。 After step S224, the processing of the encoder 211 ends.
<4.第4の実施の形態>
 <リアルタイム通信システムの構成>
 図17は、本技術の第4の実施の形態に係るリアルタイム通信システムの構成例を示すブロック図である。
<4. Fourth embodiment>
<Real-time communication system configuration>
FIG. 17 is a block diagram illustrating a configuration example of a real-time communication system according to the fourth embodiment of the present technology.
 図17のリアルタイム通信システム251は、1つの中継器261と、インターネットなどで中継器261に接続された4つの端末262-1乃至262-4とで構成される。なお、図17において、図4または図15と共通する部分には同じ符号が付されており、その説明は省略される。なお、端末の数は2や3であってもよいし、5以上であってもよい。 The real-time communication system 251 in FIG. 17 is composed of one repeater 261 and four terminals 262-1 to 262-4 connected to the repeater 261 via the Internet or the like. Note that in FIG. 17, parts common to those in FIG. 4 or 15 are given the same reference numerals, and their explanations will be omitted. Note that the number of terminals may be 2 or 3, or may be 5 or more.
 中継器261は、ぞれぞれ、通信A1乃至A4を介して、端末262-1乃至262-4と通信を行う。端末262-1乃至262-4を区別する必要がない場合、端末262と称する。通信A1乃至A4を区別する必要がない場合、通信Aと称する。 The repeater 261 communicates with the terminals 262-1 to 262-4 via communications A1 to A4, respectively. If there is no need to distinguish between the terminals 262-1 to 262-4, they will be referred to as terminals 262. If there is no need to distinguish communications A1 to A4, they will be referred to as communication A.
 中継器261は、端末262のうちの少なくとも1台からの符号化データを受け取り、送信する各端末262との通信Aの通信状況に応じて、符号化データを形成し、形成した符号化データを、各端末262に対して送信する。 The repeater 261 receives encoded data from at least one of the terminals 262, forms encoded data according to the communication status of communication A with each transmitting terminal 262, and transmits the formed encoded data. , to each terminal 262.
 図17のリアルタイム通信システム251においては、通信A1乃至A4のそれぞれの通信状況が時々刻々と変化する。したがって、例えば、通信A1の通信状況が良好のために端末262-1が中継器261に高いビットレートの符号化データを送ってきたとしても、通信A2の通信状況が悪い場合には、高いビットレートのまま符号化データを送ると音声が途切れるなどの障害が発生しうる。 In the real-time communication system 251 of FIG. 17, the communication status of each of communications A1 to A4 changes from moment to moment. Therefore, for example, even if the terminal 262-1 sends encoded data with a high bit rate to the repeater 261 because the communication condition of communication A1 is good, if the communication condition of communication A2 is bad, the high bit rate If encoded data is sent at the same rate, problems such as audio interruptions may occur.
 リアルタイム通信システム251においては、このような状況を中継器261が符号化データの送信方法を工夫することにより、障害の発生を回避することができる。 In the real-time communication system 251, the repeater 261 can devise a method for transmitting encoded data in such a situation, thereby avoiding the occurrence of a failure.
 さらに、各装置の構成について説明する。 Furthermore, the configuration of each device will be explained.
 中継器261は、図4の送信器11と同様に、切り出し設定決定部21、符号化データ切り出し部22、終端処理部23、および送信データ構成部24を含むように構成される。 Similar to the transmitter 11 in FIG. 4, the repeater 261 is configured to include a cutout setting determination section 21, an encoded data cutout section 22, a termination processing section 23, and a transmission data configuration section 24.
 切り出し設定決定部21は、端末262のいずれかから符号化データを受信すると、各端末262との通信Aの通信状況を推測し、状況を解析して、各端末262に対して切り出し設定情報をそれぞれ生成する。 When the cutout setting determining unit 21 receives encoded data from any of the terminals 262, it estimates the communication status of communication A with each terminal 262, analyzes the situation, and sends cutout setting information to each terminal 262. Generate each.
 符号化データ切り出し部22は、各端末262に対して、1フレーム分の符号化データをそれぞれ切り出して生成する。 The encoded data cutting unit 22 cuts out and generates one frame worth of encoded data for each terminal 262.
 終端処理部23は、生成された符号化データに対して、それぞれ終端処理する。 The termination processing unit 23 performs termination processing on each of the generated encoded data.
 送信データ構成部24は、各端末262に対して、一度に送信するデータの塊にそれぞれまとめたうえで、送信処理部25に出力する。送信処理部25に供給されたデータは、各端末262にそれぞれ送信される。 The transmission data composition unit 24 compiles the data into chunks of data to be transmitted at once to each terminal 262 and outputs the data to the transmission processing unit 25. The data supplied to the transmission processing unit 25 is transmitted to each terminal 262, respectively.
 端末262は、符号化器211、送信器11、および受信器12を含むように構成される。 The terminal 262 is configured to include an encoder 211, a transmitter 11, and a receiver 12.
 符号化器211は、入力系から音声信号が入力されると、図2の形式からなる符号化データを形成し、送信器11に出力する。 When an audio signal is input from the input system, the encoder 211 forms encoded data in the format shown in FIG. 2 and outputs it to the transmitter 11.
 送信器11は、符号化器211により形成された符号化データを、一度に送信するデータの塊にまとめたうえで、中継器261に送信する。 The transmitter 11 collects the encoded data formed by the encoder 211 into a data chunk to be transmitted at once, and then transmits it to the repeater 261.
 受信器12は、中継器261から符号化データを受信すると、音声データを合成し、図示せぬ出力系によりスピーカなどで再生する。 When the receiver 12 receives the encoded data from the repeater 261, it synthesizes the audio data and reproduces it through a speaker or the like through an output system (not shown).
 なお、図17においては、説明の簡単のために、符号化器211と送信器11を別ブロックとして記載する例としたが、1つのブロックにまとめてもよい。1つのブロックにまとめた場合には、符号化器211で生成する符号化データは送信するサイズに収まるように調整されてもよい。 Note that in FIG. 17, for the sake of simplicity, the encoder 211 and transmitter 11 are described as separate blocks, but they may be combined into one block. When the data are combined into one block, the encoded data generated by the encoder 211 may be adjusted to fit within the size to be transmitted.
 また、図17においては、中継器261が、受信した符号化データを送信してきた端末262と区別せずにどの端末262にも送信する例としたが、送信してきた端末262に対しては送信しないようにしてもよい。 In addition, in FIG. 17, the repeater 261 transmits the received encoded data to any terminal 262 without distinguishing it from the terminal 262 that sent it. You may choose not to do so.
 さらに、複数の端末262から複数の符号化データをほぼ同時に受信した場合、中継器261が複数の符号化データをミックスしてから送信してもよい。この場合、例えば、切り出した符号化データを連結するなどしてもよい。さらに、この場合、符号化データを予め連結してもよいフォーマットを規定しておいてもよい。 Furthermore, when multiple encoded data are received from multiple terminals 262 almost simultaneously, the repeater 261 may mix the multiple encoded data before transmitting. In this case, for example, the cut out encoded data may be concatenated. Furthermore, in this case, a format in which encoded data may be concatenated may be defined in advance.
 なお、中継器261と各端末262の処理については、第1乃至第3の実施の形態で説明した処理を時分割で動作させる構成で実現できるため、説明を省略する。第3および第4の実施の形態は、第1の実施の形態と組み合わされた形態であるが、第1の実施の形態の代わりに、第2の実施の形態とを組み合わせてもよい。 It should be noted that the processing of the repeater 261 and each terminal 262 can be realized by a configuration in which the processing described in the first to third embodiments is operated in a time-sharing manner, so a description thereof will be omitted. The third and fourth embodiments are combinations with the first embodiment, but the second embodiment may be combined with the second embodiment instead of the first embodiment.
<5.その他>
 <本技術の効果>
 以上のように、本技術においては、ヘッダ情報およびメイン情報を含む1フレームの符号化データが、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出され、切り出された切り出しデータの終端に終端識別子が付加される。
<5. Others>
<Effects of this technology>
As described above, in the present technology, one frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of the cutout unit of N bytes, and the cutout data is A termination identifier is added to the end of the data.
 本技術によれば、伝送帯域や用途に応じたビットレート調整を、符号化データを復号することなく、データの切り出しで済ませられるため、コンテンツが符号化データで保存されていたとしても、処理量を増加させることなく、通信路に適したビットレートでコンテンツを配信することができる。 According to this technology, the bit rate adjustment according to the transmission band and purpose can be done by cutting out the data without decoding the encoded data, so even if the content is stored as encoded data, the amount of processing Content can be distributed at a bit rate suitable for the communication channel without increasing the bit rate.
 また、通信の空き時間を利用して、未送信の符号化データを送信することで、記録したコンテンツの品質を最高品質にできる。特に、ユーザが知らない間に、記録したコンテンツの品質を最高品質にできる。 In addition, by using communication idle time to transmit unsent encoded data, the quality of recorded content can be made to the highest quality. In particular, the quality of recorded content can be maximized without the user knowing.
 また、リアルタイム通信システムにおいて、各端末は、複数のビットレートで符号化されたデータを送ることなく、中継器においては、各端末と中継器間の通信状況に応じた最適なビットレートで符号化データを送ることができる。 In addition, in real-time communication systems, each terminal does not send data encoded at multiple bit rates; instead, at the repeater, data is encoded at the optimal bit rate according to the communication status between each terminal and the repeater. Data can be sent.
 <コンピュータの構成例>
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
<Computer configuration example>
The series of processes described above can be executed by hardware or software. When a series of processes is executed by software, a program constituting the software is installed from a program recording medium into a computer built into dedicated hardware or a general-purpose personal computer.
 図18は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。 FIG. 18 is a block diagram showing an example of a hardware configuration of a computer that executes the above-described series of processes using a program.
 CPU301、ROM(Read Only Memory)302、RAM(Random Access Memory)303は、バス304により相互に接続されている。 A CPU 301, a ROM (Read Only Memory) 302, and a RAM (Random Access Memory) 303 are interconnected by a bus 304.
 バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、キーボード、マウス、マイクロフォンなどよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307が接続される。また、入出力インタフェース305には、ハードディスクや不揮発性のメモリなどよりなる記憶部308、ネットワークインタフェースなどよりなる通信部309、リムーバブルメディア311を駆動するドライブ310が接続される。 An input/output interface 305 is further connected to the bus 304. Connected to the input/output interface 305 are an input section 306 consisting of a keyboard, mouse, microphone, etc., and an output section 307 consisting of a display, speakers, etc. Further, connected to the input/output interface 305 are a storage section 308 made up of a hard disk, a nonvolatile memory, etc., a communication section 309 made up of a network interface, etc., and a drive 310 that drives a removable medium 311 .
 以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを入出力インタフェース305及びバス304を介してRAM303にロードして実行することにより、上述した一連の処理が行われる。 In the computer configured as described above, the CPU 301, for example, loads a program stored in the storage unit 308 into the RAM 303 via the input/output interface 305 and the bus 304 and executes it, thereby performing the series of processes described above. will be held.
 CPU301が実行するプログラムは、例えばリムーバブルメディア311に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部308にインストールされる。 A program executed by the CPU 301 is installed in the storage unit 308 by being recorded on a removable medium 311 or provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting.
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。 Note that the program executed by the computer may be a program in which processing is performed chronologically in accordance with the order described in this specification, in parallel, or at necessary timing such as when a call is made. It may also be a program that performs processing.
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 Note that in this specification, a system refers to a collection of multiple components (devices, modules (components), etc.), regardless of whether all the components are located in the same casing. Therefore, multiple devices housed in separate casings and connected via a network, and a single device with multiple modules housed in one casing are both systems. .
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。 Furthermore, the effects described in this specification are merely examples and are not limiting, and other effects may also exist.
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiments of the present technology are not limited to the embodiments described above, and various changes can be made without departing from the gist of the present technology.
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 For example, the present technology can take a cloud computing configuration in which one function is shared and jointly processed by multiple devices via a network.
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。 Furthermore, each step described in the above flowchart can be executed by one device or can be shared and executed by multiple devices.
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。 Further, when one step includes multiple processes, the multiple processes included in that one step can be executed by one device or can be shared and executed by multiple devices.
<構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 ヘッダ情報およびメイン情報を含む1フレームの符号化データを、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出す切り出し部と、
 前記切り出し部により切り出された切り出しデータの終端に終端識別子を付加する終端処理部と
 を備える信号処理装置。
(2)
 前記切り出しサイズを、送信側の処理負荷、送信側と受信側との間の通信状況、受信側のリソース空き情報、受信側のCPU使用率、および受信側のバッテリ残量の少なくとも1つに基づいて決定する切り出しサイズ決定部をさらに備える
 前記(1)に記載の信号処理装置。
(3)
 前記終端識別子が付加された前記切り出しデータを送信する送信部をさらに備える
 前記(1)または(2)に記載の信号処理装置。
(4)
 前記切り出し部により前記切り出しデータが切り出された後の前記符号化データの残りである残符号化データを生成する残符号化データ構成部をさらに備え、
 前記送信部は、前記残符号化データを送信する
 前記(3)に記載の信号処理装置。
(5)
 前記送信部は、前記切り出しデータの送信の空き時間を利用して、前記残符号化データを送信する
 前記(4)に記載の信号処理装置。
(6)
 前記切り出し部により切り出された前記切り出しデータの履歴情報を保存する履歴情報保存部をさらに備え、
 前記残符号化データ構成部は、前記履歴情報を参照して前記残符号化データを生成する
 前記(4)または(5)に記載の信号処理装置。
(7)
 前記履歴情報は、前記符号化データのフレーム番号と前記切り出しサイズを少なくとも含む
 前記(6)に記載の信号処理装置。
(8)
 前記切り出し単位は、送信側と受信側間で予め決められている、または、前記切り出しデータと共に送信されることで送信側と受信側間で共有されている
 前記(1)乃至(7)のいずれかに記載の信号処理装置。
(9)
 前記切り出し単位は、変更可能である
 前記(1)乃至(7)のいずれかに記載の信号処理装置。
(10)
 前記切り出しデータは、前記切り出し単位の最初の1ビットが第1の値をとり、前記終端識別子の先頭ビットが前記第1の値とは異なる第2の値をとる
 前記(1)乃至(9)のいずれかに記載の信号処理装置。
(11)
 前記ヘッダ情報は、前記1フレームの前記符号化データのサイズを含む
 前記(1)乃至(10)のいずれかに記載の信号処理装置。
(12)
 前記1フレームの前記符号化データは、前記ヘッダ情報、サブ情報、および前記メイン情報を含み、
 前記サブ情報は、復元する信号の概形情報を含む
 前記(1)乃至(11)のいずれかに記載の信号処理装置。
(13)
 前記概形情報は、周波数スペクトルのエンベロープを復元する情報、時間波形のエンベロープを復元する情報のうちの少なくともどちらか一方を含む
 前記(12)に記載の信号処理装置。
(14)
 前記メイン情報に記録される情報は、先頭から重要度の高い順または低い順に配置される
 前記(1)乃至(13)のいずれかに記載の信号処理装置。
(15)
 前記メイン情報に記録される情報は、音声情報、映像情報、触覚情報、および振動情報の少なくともいずれか1つであり、先頭から、低域から高域の順に配置される
 前記(14)に記載の信号処理装置。
(16)
 前記メイン情報に記録される情報は、階層符号化情報であり、先頭から、1層目から順に配置される
 前記(14)に記載の信号処理装置。
(17)
 前記メイン情報に記録される情報は、音声情報、映像情報、触覚情報、振動情報、および階層符号化情報の少なくともいずれか1つであり、音声情報、映像情報、触覚情報、振動情報の少なくともいずれか1つである場合、先頭から、低域から高域の順に配置され、階層符号化情報の場合、先頭から、1層目から順に配置される
 前記(14)に記載の信号処理装置。
(18)
 信号処理装置が、
 ヘッダ情報およびメイン情報を含む1フレームの符号化データを、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出し、
 切り出された切り出しデータの終端に終端識別子を付加する
 信号処理方法。
(19)
 ヘッダ情報およびメイン情報を含む1フレームの符号化データを、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出す切り出し部と、
 前記切り出し部により切り出された切り出しデータの終端に終端識別子を付加する終端処理部として
 コンピュータを機能させるプログラム。
(20)
 ヘッダ情報およびメイン情報を含む1フレームの符号化データが、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出されて送信されてくる切り出しデータの先頭ビットに基づいて、前記切り出しデータを、前記切り出しデータの終端に付加された終端識別子を検出しながら復号し、前記終端識別子を検出した時点で復号できない情報をゼロとして復号する復号部を備える
 信号処理装置。
<Example of configuration combinations>
The present technology can also have the following configuration.
(1)
a cutting unit that cuts out one frame of encoded data including header information and main information in a cutting size that is an integral multiple of a cutting unit of N bytes from the beginning of the header information;
A signal processing device comprising: a termination processing section that adds a termination identifier to the end of the cutout data cut out by the cutout section.
(2)
The cutout size is based on at least one of the processing load on the sending side, the communication status between the sending side and the receiving side, resource availability information on the receiving side, the CPU usage rate on the receiving side, and the remaining battery level on the receiving side. The signal processing device according to (1), further comprising: a cutout size determination unit that determines the size of the cutout size.
(3)
The signal processing device according to (1) or (2), further comprising a transmitter that transmits the cut-out data to which the termination identifier is added.
(4)
further comprising a residual encoded data configuration unit that generates residual encoded data that is the remainder of the encoded data after the cutout data is extracted by the extraction unit,
The signal processing device according to (3), wherein the transmitter transmits the remaining encoded data.
(5)
The signal processing device according to (4), wherein the transmitting unit transmits the remaining encoded data using a free time for transmitting the cut-out data.
(6)
further comprising a history information storage unit that stores history information of the cutout data cut out by the cutout unit,
The signal processing device according to (4) or (5), wherein the residual encoded data configuration unit generates the residual encoded data with reference to the history information.
(7)
The signal processing device according to (6), wherein the history information includes at least the frame number of the encoded data and the cutout size.
(8)
The cutout unit is predetermined between the sending side and the receiving side, or is shared between the sending side and the receiving side by being transmitted together with the cutout data. Any of (1) to (7) above. The signal processing device according to claim 1.
(9)
The signal processing device according to any one of (1) to (7), wherein the cutting unit is changeable.
(10)
In the cutout data, the first bit of the cutout unit takes a first value, and the first bit of the termination identifier takes a second value different from the first value. (1) to (9) The signal processing device according to any one of.
(11)
The signal processing device according to any one of (1) to (10), wherein the header information includes the size of the encoded data of the one frame.
(12)
The encoded data of the one frame includes the header information, sub information, and the main information,
The signal processing device according to any one of (1) to (11), wherein the sub-information includes general shape information of a signal to be restored.
(13)
The signal processing device according to (12), wherein the outline information includes at least one of information for restoring an envelope of a frequency spectrum and information for restoring an envelope of a time waveform.
(14)
The signal processing device according to any one of (1) to (13), wherein the information recorded in the main information is arranged in order of importance from the beginning or from the beginning.
(15)
The information recorded in the main information is at least one of audio information, video information, tactile information, and vibration information, and is arranged from the beginning in order from low range to high range, as described in (14) above. signal processing device.
(16)
The signal processing device according to (14), wherein the information recorded in the main information is hierarchically encoded information and is arranged in order from the top to the first layer.
(17)
The information recorded in the main information is at least one of audio information, video information, tactile information, vibration information, and hierarchically encoded information; The signal processing device according to (14) above, in which the signal processing device is arranged in order from the top to the first layer, and in the case of hierarchically encoded information, it is arranged in order from the top to the first layer.
(18)
The signal processing device
Cutting out one frame of encoded data including header information and main information from the beginning of the header information in a cutout size that is an integral multiple of the cutout unit of N bytes,
A signal processing method that adds a termination identifier to the end of the extracted data.
(19)
a cutting unit that cuts out one frame of encoded data including header information and main information in a cutting size that is an integral multiple of a cutting unit of N bytes from the beginning of the header information;
A program that causes a computer to function as a termination processing section that adds a termination identifier to the end of the cutout data cut out by the cutout section.
(20)
One frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of the cutout unit of N bytes, and is transmitted based on the first bit of the cutout data. A signal processing device comprising a decoding unit that decodes cut-out data while detecting a termination identifier added to the end of the cut-out data, and decodes information that cannot be decoded as zero at the time when the termination identifier is detected.
 1 リアルタイム通信再生システム, 11 送信器, 12 受信器, 21 切り出し設定決定部, 22 符号化データ切り出し部, 23 終端処理部, 24 送信データ構成部, 25 送信処理部, 31 ビットストリーム読み出し部, 32 復号部, 33 逆量子化部, 34 信号合成部, 101 リアルタイム通信再生システム, 111 送信器, 112 受信器, 121 符号化データ切り出し部, 122 未送信符号化データ情報保存部, 123 残符号化データ構成部, 131 受信データ仕分け部, 132 ビットストリーム書き出し部, 201 リアルタイム録音通信再生システム, 211 符号化器, 221 信号解析部, 222 量子化部, 223 符号化部,224 符号化データ形成部,251 リアルタイム通信システム, 261 中継器, 262-1乃至262-4 端末 1. Real-time communication playback system, 11. Transmitter, 12. Receiver, 21. Extraction setting determination section, 22. Encoded data extraction section, 23. Termination processing section, 24. Transmission data composition section, 25. Transmission processing section, 31. Bit stream reading section, 32 Decoding unit, 33 Inverse quantization unit, 34 Signal synthesis unit, 101 Real-time communication reproduction system, 111 Transmitter, 112 Receiver, 121 Encoded data extraction unit, 122 Untransmitted encoded data information storage unit, 123 Remaining encoded data Component, 131 Received data sorting unit, 132 Bitstream writing unit, 201 Real-time recording communication playback system, 211 Encoder, 221 Signal analysis unit, 222 Quantization unit, 223 Encoding unit, 224 Encoded data forming unit, 251 Real-time communication system, 261 repeater, 262-1 to 262-4 terminal

Claims (20)

  1.  ヘッダ情報およびメイン情報を含む1フレームの符号化データを、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出す切り出し部と、
     前記切り出し部により切り出された切り出しデータの終端に終端識別子を付加する終端処理部と
     を備える信号処理装置。
    a cutting unit that cuts out one frame of encoded data including header information and main information in a cutting size that is an integral multiple of a cutting unit of N bytes from the beginning of the header information;
    A signal processing device comprising: a termination processing section that adds a termination identifier to the end of the cutout data cut out by the cutout section.
  2.  前記切り出しサイズを、送信側の処理負荷、送信側と受信側との間の通信状況、受信側のリソース空き情報、受信側のCPU使用率、および受信側のバッテリ残量の少なくとも1つに基づいて決定する切り出しサイズ決定部をさらに備える
     請求項1に記載の信号処理装置。
    The cutout size is based on at least one of the processing load on the sending side, the communication status between the sending side and the receiving side, resource availability information on the receiving side, the CPU usage rate on the receiving side, and the remaining battery level on the receiving side. The signal processing device according to claim 1, further comprising: a cutout size determination unit that determines the size of the cutout size.
  3.  前記終端識別子が付加された前記切り出しデータを送信する送信部をさらに備える
     請求項1に記載の信号処理装置。
    The signal processing device according to claim 1, further comprising a transmitter that transmits the cut-out data to which the termination identifier is added.
  4.  前記切り出し部により前記切り出しデータが切り出された後の前記符号化データの残りである残符号化データを生成する残符号化データ構成部をさらに備え、
     前記送信部は、前記残符号化データを送信する
     請求項3に記載の信号処理装置。
    further comprising a residual encoded data configuration unit that generates residual encoded data that is the remainder of the encoded data after the cutout data is extracted by the extraction unit,
    The signal processing device according to claim 3, wherein the transmitter transmits the residual encoded data.
  5.  前記送信部は、前記切り出しデータの送信の空き時間を利用して、前記残符号化データを送信する
     請求項4に記載の信号処理装置。
    The signal processing device according to claim 4, wherein the transmitting unit transmits the remaining encoded data using a free time for transmitting the cut-out data.
  6.  前記切り出し部により切り出された前記切り出しデータの履歴情報を保存する履歴情報保存部をさらに備え、
     前記残符号化データ構成部は、前記履歴情報を参照して前記残符号化データを生成する
     請求項4に記載の信号処理装置。
    further comprising a history information storage unit that stores history information of the cutout data cut out by the cutout unit,
    The signal processing device according to claim 4, wherein the residual encoded data configuration unit generates the residual encoded data with reference to the history information.
  7.  前記履歴情報は、前記符号化データのフレーム番号と前記切り出しサイズを少なくとも含む
     請求項6に記載の信号処理装置。
    The signal processing device according to claim 6, wherein the history information includes at least a frame number of the encoded data and the cutout size.
  8.  前記切り出し単位は、送信側と受信側間で予め決められている、または、前記切り出しデータと共に送信されることで送信側と受信側間で共有されている
     請求項1に記載の信号処理装置。
    The signal processing device according to claim 1, wherein the cutting unit is predetermined between the transmitting side and the receiving side, or is shared between the transmitting side and the receiving side by being transmitted together with the cutting data.
  9.  前記切り出し単位は、変更可能である
     請求項1に記載の信号処理装置。
    The signal processing device according to claim 1, wherein the cutting unit is changeable.
  10.  前記切り出しデータは、前記切り出し単位の最初の1ビットが第1の値をとり、前記終端識別子の先頭ビットが前記第1の値とは異なる第2の値をとる
     請求項1に記載の信号処理装置。
    The signal processing according to claim 1, wherein in the cutout data, the first bit of the cutout unit takes a first value, and the first bit of the termination identifier takes a second value different from the first value. Device.
  11.  前記ヘッダ情報は、前記1フレームの前記符号化データのサイズを含む
     請求項1に記載の信号処理装置。
    The signal processing device according to claim 1, wherein the header information includes a size of the encoded data of the one frame.
  12.  前記1フレームの前記符号化データは、前記ヘッダ情報、サブ情報、および前記メイン情報を含み、
     前記サブ情報は、復元する信号の概形情報を含む
     請求項1に記載の信号処理装置。
    The encoded data of the one frame includes the header information, sub information, and the main information,
    The signal processing device according to claim 1, wherein the sub-information includes outline information of a signal to be restored.
  13.  前記概形情報は、周波数スペクトルのエンベロープを復元する情報、時間波形のエンベロープを復元する情報のうちの少なくともどちらか一方を含む
     請求項12に記載の信号処理装置。
    The signal processing device according to claim 12, wherein the outline information includes at least one of information for restoring an envelope of a frequency spectrum and information for restoring an envelope of a time waveform.
  14.  前記メイン情報に記録される情報は、先頭から重要度の高い順または低い順に配置される
     請求項1に記載の信号処理装置。
    The signal processing device according to claim 1, wherein the information recorded in the main information is arranged in order of importance from the beginning or from the beginning to the end.
  15.  前記メイン情報に記録される情報は、音声情報、映像情報、触覚情報、および振動情報の少なくともいずれか1つであり、先頭から、低域から高域の順に配置される
     請求項14に記載の信号処理装置。
    15. The information recorded in the main information is at least one of audio information, video information, tactile information, and vibration information, and is arranged from the beginning in order from low range to high range. Signal processing device.
  16.  前記メイン情報に記録される情報は、階層符号化情報であり、先頭から、1層目から順に配置される
     請求項14に記載の信号処理装置。
    The signal processing device according to claim 14, wherein the information recorded in the main information is hierarchically encoded information and is arranged in order from the top to the first layer.
  17.  前記メイン情報に記録される情報は、音声情報、映像情報、触覚情報、振動情報および階層符号化情報の少なくともいずれか1つであり、音声情報、映像情報、触覚情報、振動情報の少なくともいずれか1つである場合、先頭から、低域から高域の順に配置され、階層符号化情報の場合、先頭から、1層目から順に配置される
     請求項14に記載の信号処理装置。
    The information recorded in the main information is at least one of audio information, video information, tactile information, vibration information, and hierarchically encoded information, and at least one of audio information, video information, tactile information, and vibration information. 15. The signal processing device according to claim 14, wherein if there is one, the signal processing device is arranged from the top in order from low band to high band, and in the case of layered encoded information, it is arranged in order from the top to the first layer.
  18.  信号処理装置が、
     ヘッダ情報およびメイン情報を含む1フレームの符号化データを、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出し、
     切り出された切り出しデータの終端に終端識別子を付加する
     信号処理方法。
    The signal processing device
    Cutting out one frame of encoded data including header information and main information from the beginning of the header information in a cutout size that is an integral multiple of the cutout unit of N bytes,
    A signal processing method that adds a termination identifier to the end of the extracted data.
  19.  ヘッダ情報およびメイン情報を含む1フレームの符号化データを、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出す切り出し部と、
     前記切り出し部により切り出された切り出しデータの終端に終端識別子を付加する終端処理部として
     コンピュータを機能させるプログラム。
    a cutting unit that cuts out one frame of encoded data including header information and main information in a cutting size that is an integral multiple of a cutting unit of N bytes from the beginning of the header information;
    A program that causes a computer to function as a termination processing section that adds a termination identifier to the end of the cutout data cut out by the cutout section.
  20.  ヘッダ情報およびメイン情報を含む1フレームの符号化データが、前記ヘッダ情報の先頭からNバイトの切り出し単位の整数倍の切り出しサイズで切り出されて送信されてくる切り出しデータの先頭ビットに基づいて、前記切り出しデータを、前記切り出しデータの終端に付加された終端識別子を検出しながら復号し、前記終端識別子を検出した時点で復号できない情報をゼロとして復号する復号部を備える
     信号処理装置。
    One frame of encoded data including header information and main information is cut out from the beginning of the header information in a cutout size that is an integral multiple of the cutout unit of N bytes, and is transmitted based on the first bit of the cutout data. A signal processing device comprising a decoding unit that decodes cut-out data while detecting a termination identifier added to the end of the cut-out data, and decodes information that cannot be decoded as zero at the time when the termination identifier is detected.
PCT/JP2023/027190 2022-08-09 2023-07-25 Signal processing device, signal processing method, and program WO2024034389A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-126836 2022-08-09
JP2022126836 2022-08-09

Publications (1)

Publication Number Publication Date
WO2024034389A1 true WO2024034389A1 (en) 2024-02-15

Family

ID=89851587

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/027190 WO2024034389A1 (en) 2022-08-09 2023-07-25 Signal processing device, signal processing method, and program

Country Status (1)

Country Link
WO (1) WO2024034389A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6453642A (en) * 1987-02-27 1989-03-01 Hitachi Ltd Method and system for transmitting variable rate sound signal
JPH10154000A (en) * 1996-09-24 1998-06-09 Yamaha Corp Voice coding and decoding system
JP2000183751A (en) * 1998-12-18 2000-06-30 Fujitsu Ltd Variable rate coding and decoding device
JP2004199075A (en) * 2002-12-18 2004-07-15 Samsung Electronics Co Ltd Stereo audio encoding/decoding method and device capable of bit rate adjustment
US7333929B1 (en) * 2001-09-13 2008-02-19 Chmounk Dmitri V Modular scalable compressed audio data stream
JP2010518422A (en) * 2007-02-02 2010-05-27 フランス・テレコム Improved digital audio signal encoding / decoding method
WO2018198789A1 (en) * 2017-04-26 2018-11-01 ソニー株式会社 Signal processing device, method, and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6453642A (en) * 1987-02-27 1989-03-01 Hitachi Ltd Method and system for transmitting variable rate sound signal
JPH10154000A (en) * 1996-09-24 1998-06-09 Yamaha Corp Voice coding and decoding system
JP2000183751A (en) * 1998-12-18 2000-06-30 Fujitsu Ltd Variable rate coding and decoding device
US7333929B1 (en) * 2001-09-13 2008-02-19 Chmounk Dmitri V Modular scalable compressed audio data stream
JP2004199075A (en) * 2002-12-18 2004-07-15 Samsung Electronics Co Ltd Stereo audio encoding/decoding method and device capable of bit rate adjustment
JP2010518422A (en) * 2007-02-02 2010-05-27 フランス・テレコム Improved digital audio signal encoding / decoding method
WO2018198789A1 (en) * 2017-04-26 2018-11-01 ソニー株式会社 Signal processing device, method, and program

Similar Documents

Publication Publication Date Title
KR100969731B1 (en) Apparatus for generating and interpreting a data stream modified in accordance with the importance of the data
JP4918841B2 (en) Encoding system
CN1926824B (en) Sound packet reproducing method, sound packet reproducing apparatus, sound packet reproducing program, and recording medium
CN1327409C (en) Wideband signal transmission system
WO2008040250A1 (en) A method, a device and a system for error concealment of an audio stream
US20020150123A1 (en) System and method for network delivery of low bit rate multimedia content
CN109862440A (en) Audio video transmission forward error correction, device, computer equipment and storage medium
CN108847248B (en) Bluetooth device audio processing method, system, readable storage medium and Bluetooth device
JP4404180B2 (en) Data distribution system, data processing apparatus, data processing method, and computer program
US20040024592A1 (en) Audio data processing apparatus and audio data distributing apparatus
JP2012247810A (en) Noise generation device and method, and computer-readable recording medium
CN101300781A (en) System and method for controlling transmission of motion image data in network
EP1218876A1 (en) Apparatus and method for a telecommunications system
KR20050094036A (en) Resynchronizing drifted data streams with a minimum of noticeable artifacts
CN112995730A (en) Sound and picture synchronous adjustment method and device, electronic equipment and medium
JPH11177623A (en) Data sending device, data reception equipment and data transmission equipment
CN105009208B (en) Method and apparatus for the DTX hangover in audio coding
WO2024034389A1 (en) Signal processing device, signal processing method, and program
JP7136084B2 (en) Communication device, media delivery system, media delivery method and program
AU2018289986B2 (en) Audio signal encoding and decoding
KR101377702B1 (en) Bandwidth scalable codec and control method thereof
JP2003249977A (en) Data sender, data receiver, and data transmission equipment
JPH07250103A (en) Communication system for time-series information
CN116259322A (en) Audio data compression method and related products
CN107112019A (en) Signal processing apparatus, signal processing method and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23852365

Country of ref document: EP

Kind code of ref document: A1